2012-03-27 104 views
4

我想轉換一個時間戳正在返回從JavaScript顯示在用戶本地時區的JavaScript中的JSON資源。下面我試圖調整用戶偏移量。JavaScript的UTC時間戳到本地時區

例UTC輸出日期: 星期二2012年3月27日2時29分15秒GMT-0400(EDT)

代碼

var date = new Date(data.date_created); //Data.date_created coming from json payload 
var offset = date.getTimezoneOffset() //Get offset 
var new_date = new Date(date offset); //Add offset to userdate 

我正在與適當的方法努力實現這個。任何人都可以將我指向正確的方向嗎?

回答

5

我可能失去了一些東西,但

var date = new Date(data.date_created); 

做什麼,我想你想要的。

>>> d=new Date('Tue Mar 27 2012 02:29:15 GMT-0800') 
Date {Tue Mar 27 2012 06:29:15 GMT-0400 (EDT)} 
>>> d.toLocaleString() 
"Tue Mar 27 06:29:15 2012" 
>>> d=new Date('Tue Mar 27 2012 02:29:15 GMT+0300') 
Date {Mon Mar 26 2012 19:29:15 GMT-0400 (EDT)} 
>>> d.toLocaleString() 
"Mon Mar 26 19:29:15 2012" 

請注意如何將GMT偏移從-8更改爲+3將結果時間更改爲11小時。

+0

非標準字符串的解析依賴於實現。手動分析字符串要好得多。 – RobG 2014-02-06 00:27:56