我需要具有一个功能,用户可以在其中插入特定的时间范围(例如1周或5天零12个小时)。 Moment.js的持续时间看上去最有希望。
下面的代码返回2 00:00
,其中2等于天数。应该是1,因为那里只有24小时。
moment.utc(moment.duration(24, 'hours').as("milliseconds")).format("D HH:mm");
我在这里做什么错了?
答案 0 :(得分:2)
您通过调用moment.utc(...)
将24小时设置为从1970-01-01(Unix纪元)开始的毫秒偏移量。这意味着您现在正在保存日期1970-01-02 00:00
,然后再打印日期部分。
答案 1 :(得分:0)
如果时间范围是固定的并由您自己设置,则始终可以手动输入开始的时间(以毫秒为单位)。例如24小时为86400000毫秒。
答案 2 :(得分:0)
您必须以瞬间持续时间的格式设置毫秒,而不是瞬间的格式。我认为下面的行给出了您的期望值。
moment.duration(moment.duration(24, 'hours').as("milliseconds")).format("D HH:mm");
答案:1 00:00
答案 3 :(得分:0)
我使用以下代码和插件对其进行了修复:
moment.duration(moment().diff(moment().subtract(1, 'days')));