使用 JS 将毫秒转换为 hh:mm:ss 会增加 1 小时

Convert milliseconds to hh:mm:ss with JS adds 1 hour

本文关键字:ss mm 增加 小时 hh JS 转换 使用      更新时间:2023-09-26

我的持续时间以毫秒为单位,我想用 hh:mm:ss 格式显示它,所以我尝试使用

var dtFromMillisec = new Date(myDuration);
var result = dtFromMillisec.getHours() + ":" + dtFromMillisec.getMinutes() + ":" + dtFromMillisec.getSeconds();
例如,我得到的时间应该是 00:00:15,

但它是 1:0:15,为什么我总是多得到 1 小时?

如果您正在使用持续时间,请不要使用 Date 对象,请执行以下操作:

var result = Math.floor(myDuration/(1000*60*60)) + ":" + Math.floor(myDuration/(1000*60))%60 + ":" + Math.floor(myDuration/1000)%60;

Date构造函数适用于自 1970 年 1 月 1 日 UTC 以来已过去的毫秒数表示的日期。

编辑

您的Date对象可能显示 1 小时,因为您位于 GMT + 1 的时区,因此毫秒零处的日期01 January, 1970 UTC 01:00:00