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
。
答
如果您只需要用户的当地时间,没有理由引入时刻。瞬间时区仅用于需要在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。
到目前为止您尝试了什么? –
moment.utc(unix-timestamp).toDate();没有给予当地正确的时间。 –
将此添加到您的输入,预期输出,实际输出的问题 –