Datefns以格式

时间:2018-11-25 11:03:03

标签: javascript date date-format date-fns

我想将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

怎么了?

2 个答案:

答案 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

好消息,在同一票证中指定问题的解决方法。