gpt4 book ai didi

javascript - moment.js 或日期验证中的 isSame() 函数

转载 作者:IT王子 更新时间:2023-10-29 03:09:06 24 4
gpt4 key购买 nike

我需要验证用户的日期并检查它是否采用特定格式。如果是,那么它将被接受,否则将不会被接受。我正在寻找某种

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 与无效日期字符串进行比较会返回 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") );

关于javascript - moment.js 或日期验证中的 isSame() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28335803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com