[英]Moment.js - Can't calculate .diff between dates properly if they are in different days
有人可以解釋一下為什么這不能正常工作。 下面是一個使用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的時間。 我該如何解決此問題才能使其正常工作?
看來我也必須聲明一天。我如何格式化它,所以它是Day + Hours + Minutes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.