我想将ms时间格式化为HH:mm:ss
格式...
哪里
const d = new Date()
const n = d.getTime()
,任务时间以毫秒为单位number
。
当我致电format(n - taskTime, 'HH:mm:ss')
时,它将返回1小时以上。为什么?
例外的输出是:00:00:10
,但我收到的信息是:01:00:10
总是超过一小时。
“ taskTime”的值为10000
。
怎么了?
答案 0 :(得分:0)
您可以在格式化之前执行以下操作:
var timestamp = Number(new Date())
console.log(timestamp); //here you can calculate whatever you want with timestamp
var date = new Date(timestamp)
var hours = date.getHours();
var minutes = "0" + date.getMinutes();
var seconds = "0" + date.getSeconds();
var convdataTime =hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
console.log(convdataTime); //you will get proper format here
关于格式为+1小时的问题,请尝试使用UTC。很有可能是时区问题。
答案 1 :(得分:0)
我过去一直在处理这个问题,对该问题投反对票并没有非常有用的答案无助于回答原始问题(在标题中明确指出它与date-fns有关)。万一将来有人需要处理此问题,则问题可能与date-fns有关,并且无法将日期设置为中性或UTC(所以,是的,它与时区有关)。 date-fns是一个已知问题,有一个问题:https://github.com/date-fns/date-fns/issues/818
好消息,在同一票证中指定问题的解决方法。