我使用moment.js来处理我的网络应用程序中的日期时间值。我使用了以下格式:DD.MM.YYYY
,例如29.09.2016
。现在我有一些输入字段,我可以输入一个人的出生日期。当我输入介于62和99之间的短年份时,它会像这样进行转换,例如:input
= 29.09.82
按Tab键将其转换为29.09.2082
(将82放入82)。当我在转换中写出00到62之间的短年时,就像这个例子一样:input
= 29.09.55
将被转换为29.09.1955
(在55之前放置19)。因此,第一个范围将转换为21世纪的一年,第二个范围将转换为20世纪的一年(这似乎是默认的,我不知道为什么)。现在我想阻止转换为未来的一年(所以不会超过2016年,而2016年只有短短的16年)。我怎样才能做到这一点?此刻我有这样的事情:
if(value.isValid() && isDayOfBirth) {
value.format(myFormat);
}
有没有办法做到这一点或检查它?我在http://momentjs.com/docs/中找不到任何内容。感谢。
答案 0 :(得分:2)
这应该有效。 您获取当前年份并检查解析的年份是否大于该年份。 如果是这样,你减去100年(让你回到20世纪)。
var now = moment(),
year = now.year(); //Get current year
if (parsedDate.year() > year) {
parsedDate.subtract(100, "year");
}