2017-05-17 66 views
0

我有一個輸入日期與字符串中的特定時區。例如:在不改變日期的情況下將日期轉換爲本地時區

Sat May 20 2017 17:00:00 GMT-0300 (-03)

我想改變這個日期我的本地時區的時區不轉換的時間。就好像輸入日期在我的正確時區。

Sat May 20 2017 17:00:00 GMT+0200 (CEST)

我此刻玩了一圈,發現這樣的:

const date = moment(moment.utc('Sat May 20 2017 17:00:00 GMT-0300 (-03)').format('LLL'))

是否做到這一點最簡單的方法?我不喜歡這個時刻對象的副本,但我找不到一個方法在「單次拍攝」中完成。

回答

3

要在當地時間解析您的輸入,您可以簡單地使用moment(String, String)函數。正如docs所說:

默認情況下,瞬間解析並顯示當地時間。

這裏活樣本:

var input = 'Sat May 20 2017 17:00:00 GMT-0300 (-03)'; 
 
var m = moment(input, 'ddd MMM DD YYYY HH:mm:ss'); 
 
console.log(m.format());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

+1

感謝。這裏的關鍵是指定輸入格式來刪除時區解析。從來沒有想過這個。 – Kerumen

相關問題