我正在尝试将十进制数转换为Javascript中的日期对象。我已经尝试了多种方法和使用时刻,但我所有的转换都是错误的。我想转换的值的一个例子是705623516.402048。我尝试将int部分解释为秒,将小数部分解释为毫秒,但它也出错了。我不能使用jQuery,只能使用纯JS或moment任何帮助都非常感谢先谢谢你了
1yjd4xko1#
如果这应该是今天的日期,它看起来像是2001-01-01的秒。因此,您可以使用Date.setSeconds()添加到该日期。
Date.setSeconds()
let seconds = 705623516.402048; let date = new Date('2001-01-01 00:00:00'); date.setSeconds(date.getSeconds() + seconds); console.log(date);
lkaoscv72#
时间值显示为微秒。基于Barmar的回答,你可以使用以下命令来保持毫秒级的精度(目前ECMAScript Dates可以做到的最好的精度):
let seconds = 705623516.402048; let date = new Date(Date.UTC(2001, 0) + seconds * 1e3); console.log(date);
日期历元通常是UTC(尽管不一定),因此使用 * Date.UTC *。
2条答案
按热度按时间1yjd4xko1#
如果这应该是今天的日期,它看起来像是2001-01-01的秒。因此,您可以使用
Date.setSeconds()
添加到该日期。lkaoscv72#
时间值显示为微秒。基于Barmar的回答,你可以使用以下命令来保持毫秒级的精度(目前ECMAScript Dates可以做到的最好的精度):
日期历元通常是UTC(尽管不一定),因此使用 * Date.UTC *。