Unix时间戳到当地时间在时区

问题描述:

我有一个unix时间戳,我想使用时区时间库转换为本地时间。我不知道该怎么做。找不到任何东西。任何人有任何想法?Unix时间戳到当地时间在时区

我试过了,但它没有给出正确的本地时间。

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

moment.utc(unix-timestamp).toDate();没有给予当地正确的时间。 –

+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" 

无需调用.toDate当您使用时刻,除非你与互动需要日期对象的第三方API。