如何使用moment.js获取以毫秒为单位的日期

时间:2018-03-24 18:09:04

标签: datetime momentjs unix-timestamp

我试图用moment.js以毫秒为单位获取日期。问题是,在他们的unix时间戳部分的文档中,他们只有unix timestampt到momentjs格式。如何从日期开始以毫秒为单位获取unix时间戳? 例如:moment.unix(2010-01-01T05:06:07) => 1262318767000

3 个答案:

答案 0 :(得分:1)

您也可以使用mean squared error以毫秒为单位获取日期。

format()

答案 1 :(得分:1)

你说“在unix时间戳部分的文档中,他们只有unix timestampt到momentjs格式”,但那不是真的。

根据https://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

  

moment#valueOf只输出自Unix Epoch

以来的毫秒数

因此,请使用valueOf方法:

moment("2010-01-01T05:06:07").valueOf();

但是在我的机器上它返回1262329567000.那是因为moment.js正在使用我的浏览器的时区 - 这个毫秒值对应于2010年1月1日,在我浏览器的时区上午05:06:07。

您在问题中提到的值(1262318767000)对应于2010年1月1日上午05:06:07在时区中使用偏移量+01:00:在比UTC提前一小时的某个地方,在2010年1月1日:https://en.wikipedia.org/wiki/List_of_UTC_time_offsets#UTC+01:00,_A

如果您想具体说明日期/时间对应的时区,您可以使用时刻时区:https://momentjs.com/timezone/

答案 2 :(得分:0)

你可以使用

moment( date ).toDate().getTime();

如果你喜欢使用时区

let timezone = moment.tz.guess() || 'America/Los_Angeles';
moment( date, timezone ).toDate().getTime();