无法获得 javascript(nodejs) 中的日期时间差异
cant get the datetime difference in javascript(nodejs)
我正在尝试从两个 JavaScript 日期时间戳中获取 day/hr/min 差异,当前时间减去未来事件时间,该时间将显示在应用程序前端。
两个日期:
未来活动日期 - 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,如果有帮助我不介意尝试另一个包
当你有一个 Date
时,它基于 1970 年 1 月 1 日。所以当你设置 new Date(difference)
时。您正在设置与 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 日期时间戳中获取 day/hr/min 差异,当前时间减去未来事件时间,该时间将显示在应用程序前端。
两个日期: 未来活动日期 - 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,如果有帮助我不介意尝试另一个包
当你有一个 Date
时,它基于 1970 年 1 月 1 日。所以当你设置 new Date(difference)
时。您正在设置与 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());