Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用矩/JS将时差转换为HH:MM:SS_Javascript_Momentjs - Fatal编程技术网

Javascript 使用矩/JS将时差转换为HH:MM:SS

Javascript 使用矩/JS将时差转换为HH:MM:SS,javascript,momentjs,Javascript,Momentjs,我有一个startTime和endTime,在此基础上,我需要创建一个倒计时,它将始终以HH:MM:SS格式显示 例如: var endTime=1601454312537//Wed Sep 30 2020 13:55:12 var startTime=1600417512537//2020年9月18日星期五13:55:12 var diff=结束时间-开始时间 var duration=时刻持续时间(diffTime*1000,'毫秒') 然后将差值传递给setInterval,其中 set

我有一个
startTime
endTime
,在此基础上,我需要创建一个倒计时,它将始终以
HH:MM:SS
格式显示

例如:

var endTime=1601454312537//Wed Sep 30 2020 13:55:12
var startTime=1600417512537//2020年9月18日星期五13:55:12
var diff=结束时间-开始时间
var duration=时刻持续时间(diffTime*1000,'毫秒')
然后将差值传递给setInterval,其中

setInterval(()=>{
持续时间=时刻。持续时间(持续时间-间隔,'毫秒');
h=持续时间。小时(),
m=持续时间。分钟(),
s=持续时间。秒()
}, 1000);
这给了我正确的时间,但当它超过24小时时,这一刻在一天内就过去了。 有什么方法可以让它以HH:MM:SS格式保存所有差异吗?
是否有任何力矩函数将其限制为小时、分钟、秒?

这是我使用的一个不需要
momentjs
的函数,在
momentjs
中也没有直接的方法来实现这一点:

// Duration in seconds
const durationString = duration =>
  `${
    Math.floor(duration / 60) > 9 ? Math.floor(duration / 60) : `0${Math.floor(duration / 60)}`
  } m ${duration % 60 > 9 ? Math.round(duration % 60) : `0${Math.round(duration % 60)}`}s`

发布对我有效的解决方案-
您可以进一步拆分MinuteSeconds字符串

var minutesSeconds = moment.utc(totalMilliseconds).format("mm:ss")
var hours = Math.floor(moment.duration(totalMilliseconds).asHours())
console.log("HH:MM:SS",hours + ':' + minutesSeconds)

如果将其作为天传递,是否会导致代码中出现任何问题?类似于
h=duration.days()*24+duration.hours()
…?(这是否会让你在某个时候遇到DST的麻烦,我留给你去弄清楚。)@ShubhamSrivastava我需要在几个小时内显示它。即使它是24+,也没关系。看看这个;我宁愿使用countdown.js作为你链接中发布的@TasosBu解决方案。谢谢