momentjs - Unix 时间戳到时刻时区中的本地日期

标签 momentjs unix-timestamp localtime

我有一个 unix 时间戳,我想使用 moment-timezone 库将其转换为本地时间。我不知道该怎么做。找不到任何东西。大家有什么想法吗?

我尝试过此操作,但它没有给出正确的本地时间。

moment.utc(1465297200000).toDate();

我得到的输出是Tue Jun 07 2016 11:00:00 GMT+0000 (UTC)

而我预计时间为 2016 年 6 月 7 日星期二 16:30:00 GMT+0000 (UTC)

此外,我希望输出格式为 MM-DD-YYYY HH:mm:ss

最佳答案

如果您只需要用户的本地时间,则没有理由引入时刻时区。仅当您需要显示 UTC 或用户本地时间以外的时区的时间时,才会使用 Moment 时区。

如果您希望在全局时间轴上获取一个点,并将其显示为用户的本地时间,请使用 moment() 构造函数:

moment(1465297200000).format()
"2016-06-07T06:00:00-05:00"

请注意,我现在处于 UTC-5 时区,因此时间戳的 UTC 时间已向后移动五个小时,从“2016-06-07T11:00:00Z”到“2016-06-07T06” :00:00-05:00”。

我不确定为什么您会期望这会导致格林尼治标准时间 16:30。您实际上希望印度标准时间显示为 16:30 吗?如果您使用的计算机设置为印度时间,则这应该可以与矩函数配合使用。

要获取您正在寻找的格式,您只需向格式函数指定格式标记即可:

moment(1465297200000).format('MM-DD-YYYY HH:mm:ss')
"06-07-2016 06:00:00"

使用 moment 时无需调用 .toDate,除非您正在与需要日期对象的第三方 API 交互。

关于momentjs - Unix 时间戳到时刻时区中的本地日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37678460/

相关文章:

Dart - 将纪元以来的毫秒数(UNIX 时间戳)转换为人类可读的时间

sql - Redshift 将日期转换为 Unix 时间戳

Java 将 unixtime 转换为日期,给出错误的结果

json - 为什么在Json Grails中将Joda LocalTime渲染为String?

javascript - 如何显示本地时间(考虑时区)?

date - 如何在material-ui-pickers中将星期几显示为星期三?

javascript - 时刻js : Keep UTC date/time in UTC only

javascript - Magento 2 : moment is not defined

java - 两次之间如何间隔分钟?

javascript - 超过24小时的Moment js格式失败