[英]Moment.js returning 2 days if duration is 24 hours
我需要一个函数,用户可以在其中插入特定的时间范围(例如1周或5天12个小时)。 Moment.js的持续时间看起来最有希望。
下面的代码返回2 00:00
,其中2等于天数。 这应该是1,因为那里只有24小时。
moment.utc(moment.duration(24, 'hours').as("milliseconds")).format("D HH:mm");
我在这里做错了什么?
您可以通过调用moment.utc(...)
将24小时设置为距1970-01-01(Unix纪元)的毫秒数。 这意味着您的时刻保留了日期1970-01-02 00:00
,然后在打印日期部分。
如果时间范围是固定的并由您自己设置,则始终可以手动输入开始的时间(以毫秒为单位)。 例如24小时为86400000毫秒。
您必须以瞬间持续时间而不是瞬间来格式化毫秒。 我认为下面的线给出了您的期望值。
moment.duration(moment.duration(24, 'hours').as("milliseconds")).format("D HH:mm");
回答:1 00:00
我通过以下代码和插件对其进行了修复:
moment.duration(moment().diff(moment().subtract(1, 'days')));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.