将毫秒转换为hh:mm:ss与JS相加1小时

时间:2015-02-03 12:16:39

标签: javascript

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

var dtFromMillisec = new Date(myDuration);
var result = dtFromMillisec.getHours() + ":" + dtFromMillisec.getMinutes() + ":" + dtFromMillisec.getSeconds();

我得到的时间应该是00:00:15,但它是1:0:15,为什么我总是再多1小时呢?

1 个答案:

答案 0 :(得分:1)

如果您正在处理持续时间,请不要使用Date对象,请按以下步骤操作:

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

如果您的日期可以用自1970年1月1日UTC以来经过的毫秒数表示,则使用Date构造函数。

修改

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