我需要验证来自用户的日期,并检查它是否为特定格式。如果是,那么它将被接受,否则它将不被接受。我在找一种
value.match("regular expression")
如果我必须从几种格式中进行选择,则上述方法可以很好地工作。因此,我偶然发现了这个moment.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
所以,请在这方面提供帮助。谢谢
发布于 2015-02-05 22:39:19
检查一个时刻与另一个时刻是否相同。
moment('2010-10-20').isSame('2010-10-20'); // true
如果您希望将粒度限制为毫秒以外的单位,请将单位作为第二个参数传递。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
如果您尝试使用moment("28-02-1999")
,则会得到一个无效的日期。因此,将x与无效的日期字符串进行比较将返回false。
要解决此问题,请使用default date format (ISO8601):
var x = moment("28-02-1999","DD-MM-YYYY");
x.isSame("1999-02-28"); // YYYY-MM-DD
或者传递给isSame
一个moment对象。
var x = moment("28-02-1999","DD-MM-YYYY");
x.isSame( moment("28-02-1999","DD-MM-YYYY") );
https://stackoverflow.com/questions/28335803
复制相似问题