gpt4 book ai didi

javascript - Moment.js - 如果日期处于不同日期,则无法正确计算日期之间的 .diff

转载 作者:行者123 更新时间:2023-12-03 04:20:48 26 4
gpt4 key购买 nike

有人可以解释一下为什么这不能正常工作吗?下面是使用 moment.js 计算当前时间和我的变量时间之间的差异的代码。

           //breakfast
var breakfasttimeleft = moment(person.breakfast, 'HH:mm');
console.log("Person breakfast is at: " + person.breakfast + " -- Current time is at: " + currenttime);
console.log(breakfasttimeleft.diff(now, 'minutes'));

//lunch
var lunchtimeleft = moment(person.lunch, 'HH:mm');
console.log("Person lunch is at: " + person.lunch + " -- Current time is at: " + currenttime);
console.log(lunchtimeleft.diff(now, 'minutes'));

//dinner
var dinnertimeleft = moment(person.dinner, 'HH:mm');
console.log("Person dinner is at: " + person.dinner + " -- Current time is at: " + currenttime);
console.log(dinnertimeleft.diff(now, "minutes"));
})

这是输出:

CONSOLE LOG
Person breakfast is at: 18:35 -- Current time is at: 18:35
0
Person lunch is at: 23:35 -- Current time is at: 18:35
300
Person dinner is at: 04:35 -- Current time is at: 18:35
-840

晚餐在某些地方完全搞砸了,比如上面的,而在其他地方却工作得很好。基本上..如果另一个日期是在另一天,它不知道如何查找小时数,因此它会查找当天这两个小时之间的差异。

18:35 至 04:35。预计是早上18:35到04:35,大约10个小时。相反,它的作用是计算从早上 04:35 到当天晚些时候 18:35 的时间。我该如何解决这个问题才能正常工作?

看来我还必须说明一天..我该如何格式化它,使其成为天+小时+分钟

最佳答案

好吧,你只是向它提供时间,但它也必须存储一些日期。如果您不提供日期,它只会被初始化为当前日期,这正是您的情况所发生的情况。

此外,根本无法暂时知道您想要设置的日期。您必须自行设置日期。

最简单的事情就是 add a day到您创建的日期:dinnertimeleft.add(1, 'd')

如果您也想提供日期(最好是完整的日期),您可以使用以下格式字符串:YYYY-MM-DD HH:mm或者创建您自己的以下 this文档。

关于javascript - Moment.js - 如果日期处于不同日期,则无法正确计算日期之间的 .diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43955892/

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