Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中使用矩(矩.js)执行大于或等于?_Javascript_Date_Datetime_Momentjs - Fatal编程技术网

如何在javascript中使用矩(矩.js)执行大于或等于?

如何在javascript中使用矩(矩.js)执行大于或等于?,javascript,date,datetime,momentjs,Javascript,Date,Datetime,Momentjs,基本上,我想做一个myMoment>=yourmonent。没有myMoment.isSameOrAfter,把isSame和结合起来写出来有点长 替代方案是什么?将moment转换为js日期,并使用=进行比较?好的,我只是选择了moment.js myMoment.diff(yourMoment)>=0 足够近。您可以使用momentjs中的方法: moment1.isSameOrAfter(moment2); 支持的度量值为年、月、周、日、小时、分钟和秒您是否尝试过if(!moment1.

基本上,我想做一个
myMoment>=yourmonent
。没有
myMoment.isSameOrAfter
,把
isSame
结合起来写出来有点长


替代方案是什么?将moment转换为js日期,并使用
=
进行比较?

好的,我只是选择了moment.js

myMoment.diff(yourMoment)>=0

足够近。

您可以使用momentjs中的方法:

moment1.isSameOrAfter(moment2);

支持的度量值为年、月、周、日、小时、分钟和秒

您是否尝试过if(!moment1.isBefore(moment2))?@Donal-我正在chrome中调试,注意到myMoment==yourMoment为false,但myMoment.isName(yourMoment)为true。@Donal JavaScript不支持运算符重载,所以像=这样的关系运算符实际上是在进行引用比较。因此,如果它“起作用”,那完全是一个意外,因为它比较这些复杂对象的原始值。@JohnZabroski这不是真的,JS正在使用valueOf prototype方法进行比较,所以像>,>=,<和@JohnZabroski这样的运算符我重复一遍,在矩的情况下,它保证是一个数字。JS:另请看你的意思,“够近了”?这正是正确的行为。如果您想要isOnOrAfter,只需在矩原型中添加一个函数。值得一提的是,diff返回的差值以毫秒为单位,因此如果您想扩展它,说next week is diff(yourMoment)>=7,您将失败。此外,不要只在一天中增加毫秒,因为时区等会让你陷入困境。根据@NickSteele的评论,你可以用它来测量不同的时间,并使用第二个参数。e、 g:(myMoment.diff(yourMoment,'minutes')>=15)或(myMoment.diff(yourMoment,'days')>=7)仅在moment.js版本2.10.7+FYI中可用:
isSameOrBefore
也可用
let A = moment('2020-01-02');
let B = moment('2020-01-01');
let C = moment('2020-01-03');
console.log(A.diff(B, 'days'));// => 1
console.log(A.diff(C, 'days'));// => -1