gpt4 book ai didi

javascript - 无法获取 javascript(nodejs) 中的日期时间差异

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:42 24 4
gpt4 key购买 nike

我试图从两个 JavaScript 日期时间戳中获取日/小时/分钟差异,当前时间减去 future 事件时间,然后该时间将显示在应用程序前端。

两个日期: future 事件日期 - 2017-10-01 18:00:00当前日期 - now()

当前代码:

var currentTime = new Date();
var eventStarts = results[0][i].eventstarts;
var difference = differenceInMilliseconds(eventStarts, currentTime);
var date = new Date(difference);
var days = date.getDay();
var hours = date.getHours();
var minutes = "0" + date.getMinutes();
var formattedTime = days + ':' + hours + ':' + minutes.substr(-2);

这不能正常工作,我不明白为什么,它返回 2 天的差异,这显然是不正确的,它应该返回 29 天以上。

我目前正在使用 npm 包 date-fns,如果有帮助的话我不介意尝试另一个包

最佳答案

当您有一个日期时,它基于 1970 年 1 月 1 日。因此,当您设置新日期(差异) 时。您正在设置与 1970 年 1 月 1 日相关的日期 - 所以不是您要查找的日期。

我建议您使用该库 moment.js ,可以轻松进行日期操作。

<小时/>

@manzurul 示例 Here

var now  = "04/09/2013 15:00:00";
var then = "02/09/2013 14:20:30";

var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss"));
var d = moment.duration(ms);

console.log(d.days(), d.hours(), d.minutes(), d.seconds());

关于javascript - 无法获取 javascript(nodejs) 中的日期时间差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46058706/

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