我有一个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
。
答案 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
。