如何在javascript中将此日期格式(2020-08-18T08:00:00)转换为毫秒?
我正在使用momentJS,但尚未找到如何进行此转换的方法。
谢谢!
答案 0 :(得分:0)
您可以创建一个新日期并使用getTime()
。由于没有时区,因此是根据用户时区而不是UTC或服务器端时区计算的。
编辑:因为不同的浏览器(例如Safari和Firefox)产生的结果不同,Why does Date.parse give incorrect results?我更改了代码,所以现在是通过安全的方法通过程序化而不是自动解析来生成日期日期字符串。
在旧版本中,我有:let date = new Date(dateStr);
可以在大多数浏览器上运行,但不能像RobG提到的那样在所有浏览器上运行。
let dateStr = '2020-08-18T08:00:00';
let parts = dateStr.split('T');
let datParts = parts[0].split('-');
let timeParts = parts[1].split(':');
let date = new Date(datParts[0], datParts[1]-1, datParts[2], timeParts[0], timeParts[1], timeParts[2]);
let ms = date.getTime()
console.log(ms);
答案 1 :(得分:-1)
您可以将整个字符串传递给Date.parse()
以获得毫秒数。
一个警告:如其他人所指出的那样,您的日期缺少时区,因此您只能使用运行脚本的时区。
const millis = Date.parse('2020-08-18T08:00:00');
console.log(millis);
console.log(new Date(millis));