moment.js 或日期验证中的 isSame() 函数
isSame() function in moment.js or Date Validation
我需要验证用户提供的日期并检查它是否采用特定格式。如果是,那么它将被接受,否则将不会被接受。我正在寻找
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
那么,请帮忙解决这个问题。
谢谢
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
如果您尝试 moment("28-02-1999")
,您会得到一个无效日期。因此将 x 与无效日期字符串进行比较 returns false.
要修复它,请使用 default date format (ISO 8601):
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") );
我需要验证用户提供的日期并检查它是否采用特定格式。如果是,那么它将被接受,否则将不会被接受。我正在寻找
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
那么,请帮忙解决这个问题。 谢谢
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
如果您尝试 moment("28-02-1999")
,您会得到一个无效日期。因此将 x 与无效日期字符串进行比较 returns false.
要修复它,请使用 default date format (ISO 8601):
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") );