我正在使用moment.js。我想限制用户的儿子,他只能选择一个日期,从当前日期到50年前。简而言之,我只希望用户的出生日期不能超过50年。因此,从目前的日期起,只有50年前的范围才应该存在。我怎样才能做到呢?请引导我。
发布于 2022-11-21 05:31:18
您需要计算从现在到生日这段时间内的difference,并检查它是否大于50。
const birthDate = '1970-01-01'
const yearsDiff = moment().diff(birthDate, 'years'); 如果你想得到小数点上的年数差异:
const yearsDiff = moment().diff(birthDate, 'years', true); yearsDiff将包含差异,因此您可以对其进行if检查,以查看它是否大于50。
发布于 2022-11-21 05:26:49
所以你必须计算50年前的第一次https://momentjs.com/docs/#/manipulating/subtract/
fiftyYearsBackDate = moment().subtract(50, "years")获取用户选择的日期
userDate = new Date()创建矩对象并执行查询https://momentjs.com/docs/#/query/is-after/
moment(userDate).isAfter(fiftyYearsBackDate)这将返回boolean,您可以使用它来显示错误消息。
发布于 2022-11-21 06:04:31
通过使用“瞬间”,你可以很容易地得到像这样的过去和未来的约会-
const past = moment().subtract(50, 'years'); // To past
const future = moment().add(50, 'years'); // Back to future最后
const today = moment();
moment(today).isAfter(past, 'year'); // return: true || false参考站点网址是- https://everyday.codes/javascript/how-to-format-date-in-javascript-with-moment-js/
https://stackoverflow.com/questions/74514537
复制相似问题