我的持续时间以毫秒为单位,我希望以格式hh:mm:ss显示它,所以我试图使用
var dtFromMillisec = new Date(myDuration);
var result = dtFromMillisec.getHours() + ":" + dtFromMillisec.getMinutes() + ":" + dtFromMillisec.getSeconds();
我得到的时间应该是00:00:15,但它是1:0:15,为什么我总是再多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
。