gpt4 book ai didi

javascript - 如何通过moment()判断今天是第二天

转载 作者:行者123 更新时间:2023-11-29 10:36:25 24 4
gpt4 key购买 nike

我使用 Moment在我的代码中处理时间。

这里有一个问题:

我要判断两次,如果现在last_take_time的第二天

如果我这样写:

   if not last_take_time? or (now.dayOfYear() - last_take_time.dayOfYear() is 1 )
do_something()

当 last_take_time 是一年的结束日时会出现问题。

我是 JavaScript 和 Moment 的新手,但我认为有一种正确的判断方法。

谢谢!

最佳答案

如果您使用 dayOfWeek() 那么添加一个额外的子句来测试星期日/星期一的棘手情况是相当容易的:

if(last_take_time && (now.dayOfWeek() - last_take_time.dayOfWeek() == 1 
|| (now.dayOfWeek() == 1 && last_take_time.dayOfWeek() == 7)))
do_something();

这比处理 dayOfYear() 更容易,因为必须处理闰年。

编辑

好的,我明白了,您的观点是正确的 - 当天数相隔一周以上时,上面的答案将返回误报。我们可以添加一个子句来说明这一点:

if(last_take_time && now.diff(last_take_time, 'days') < 3
&& (now.dayOfWeek() - last_take_time.dayOfWeek() == 1
|| (now.dayOfWeek() == 1 && last_take_time.dayOfWeek() == 7)))
do_something();

附加子句使用moment.js方法diff():link to docs以解决突出显示的问题。

关于javascript - 如何通过moment()判断今天是第二天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35693812/

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