JavaScript -如何将十进制值转换为日期时间

cgvd09ve  于 2023-05-16  发布在  Java
关注(0)|答案(2)|浏览(106)

我正在尝试将十进制数转换为Javascript中的日期对象。我已经尝试了多种方法和使用时刻,但我所有的转换都是错误的。我想转换的值的一个例子是705623516.402048。我尝试将int部分解释为秒,将小数部分解释为毫秒,但它也出错了。
我不能使用jQuery,只能使用纯JS或moment
任何帮助都非常感谢
先谢谢你了

1yjd4xko

1yjd4xko1#

如果这应该是今天的日期,它看起来像是2001-01-01的秒。因此,您可以使用Date.setSeconds()添加到该日期。

let seconds = 705623516.402048;
let date = new Date('2001-01-01 00:00:00');
date.setSeconds(date.getSeconds() + seconds);
console.log(date);
lkaoscv7

lkaoscv72#

时间值显示为微秒。基于Barmar的回答,你可以使用以下命令来保持毫秒级的精度(目前ECMAScript Dates可以做到的最好的精度):

let seconds = 705623516.402048;
let date = new Date(Date.UTC(2001, 0) + seconds * 1e3);

console.log(date);

日期历元通常是UTC(尽管不一定),因此使用 * Date.UTC *。

相关问题