获取天,小时和分钟的差异时刻js

新手上路,请多包涵

我有两个日期时间选择器(从、到)。我需要以分钟(1505 分钟)和日期和时间(2 天 1 小时 35 分钟)为单位计算 FROM 和 TO 日期之间的差异。

我使用 moment.js

 var now = moment('2018-03-28 14:02');
var end = moment('2018-06-02 00:00'); // another date
var duration = moment.duration(end.diff(now));
var days = duration.asDays();
console.log(days) //65.41527777777777

这里的输出是 65.41527777777777 其中 65 是正确的天数,但是如何将 41527777777777 转换为小时和分钟。如果我做这个 0,41527777777777 * 24 = 9,96666666648 我得到 9 个小时,然后再一次 0,96666666648 * 60 = 57 这是正确的区别

65 day, 9 hour and 57 min

但是,有什么办法可以直接用 moment.js 做到这一点吗?

谢谢

原文由 Arter 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 321
2 个回答

不直接在 moment.js 中,不,但是 这个未解决的问题 使我想到了这个允许格式化持续时间的 moment.js 插件。看起来像那个插件你可以使用它来获得你想要的输出:

 duration.format("D [day], H [hour and] m [min]")

原文由 Daniel Beck 发布,翻译遵循 CC BY-SA 3.0 许可协议

没有插件:

 var now = moment('2018-03-28 14:02');
var end = moment('2018-06-02 00:00'); // another date
var duration = moment.duration(end.diff(now));

//Get Days and subtract from duration
var days = duration.asDays();
duration.subtract(moment.duration(days,'days'));

//Get hours and subtract from duration
var hours = duration.hours();
duration.subtract(moment.duration(hours,'hours'));

//Get Minutes and subtract from duration
var minutes = duration.minutes();
duration.subtract(moment.duration(minutes,'minutes'));

//Get seconds
var seconds = duration.seconds();
console.log("Days: ",days);
console.log("Hours: ",hours);
console.log("Minutes: ",minutes);
console.log("Seconds: ",seconds);

原文由 Matthew Mallimo 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题