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

时间:2016-06-07 11:43:31

标签: momentjs unix-timestamp localtime

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

我尝试了这个,但没有给出正确的当地时间。

moment.utc(1465297200000).toDate();

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

而我希望它是Tue Jun 07 2016 16:30:00 GMT+0000 (UTC)

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

1 个答案:

答案 0 :(得分:0)

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

如果您希望在全局时间轴上取一个点,并将其显示为用户的本地时间,请使用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"

除非您正在与期望日期对象的第三方API进行交互,否则无需在使用时调用.toDate