javascript – isSame()函数在moment.js或Date验证

前端之家收集整理的这篇文章主要介绍了javascript – isSame()函数在moment.js或Date验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要验证用户的日期,并检查它是否是特定的格式.如果是,那么它将被接受,否则不会.我正在寻找一种
value.match("regular expression")

以上工作正常,如果我从几种格式中选择.所以,我遇到这个时刻js有兴趣知道如何使用isSame().我尝试实现,但不成功.喜欢 :

var x=moment("MM/DD/YYYY") ;
x.isSame("28-02-1999");  // am getting false which is right
var x=moment("28-02-1999","DD-MM-YYYY") ;
x.isSame("28-02-1999");  // am getting false which is wrong

所以请帮忙.
谢谢

解决方法

Docs – Is Same

Check if a moment is the same as another moment.

moment('2010-10-20').isSame('2010-10-20'); // true

If you want to limit the granularity to a unit other than milliseconds,
pass the units as the second parameter.

moment('2010-10-20').isSame('2009-12-31','year'); // false
moment('2010-10-20').isSame('2010-01-01','year'); // true
moment('2010-10-20').isSame('2010-12-31','year'); // true
moment('2010-10-20').isSame('2011-01-01','year'); // false

你的代码

var x=moment("28-02-1999","DD-MM-YYYY"); // working
x.isSame("28-02-1999"); // comparing x to an unrecognizable string

如果您尝试时间(“28-02-1999”),您的日期无效.所以将x与无效的日期字符串比较返回false.

要修复它,请使用default date format(ISO 8601):

var x = moment("28-02-1999","DD-MM-YYYY");
x.isSame("1999-02-28"); // YYYY-MM-DD

或者通过isSame一瞬间的对象.

var x = moment("28-02-1999","DD-MM-YYYY");
x.isSame( moment("28-02-1999","DD-MM-YYYY") );

猜你在找的JavaScript相关文章