2016-06-07 87 views
0

我有一個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

將此添加到您的輸入,預期輸出,實際輸出的問題 –

回答

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。