2017-04-26 50 views
1

我想要實現此日期格式..JavaScript的新的日期格式

我得到來自後端我的日期,但其在服務器時間。它看起來像這樣

var d.date = "2017-04-26 07:49:09" 

然後,我格式化這麼日期構造函數接受格式正確

var dateFormated = d.date.replace(' ', 'T'); 

然後,出來吧,我建設我的約會對象,如下所示:

var dateplublished = new Date(dateFormated); 

這使我得到以下結果:

Wed Apr 26 2017 07:49:09 GMT+0300 (Eastern Europe Daylight Time) 

似乎一切都很好,除了GMT +0300不會添加。它應該吐出:

Wed Apr 26 2017 10:49:09 GMT+0300 (Eastern Europe Daylight Time) 

我怎樣才能做到這一點,所以它會在所有主要的瀏覽器包括iOS Safari瀏覽器等的支持?我設法之前做,做它像這樣:

var dateFormated = d.date; 
var dateplublished = new Date(dateFormated + " " + "UTC"); 

這樣,它會完全吐出的一切,但它會在iOS上顯示的NaN囡楠Safari /鉻。

+0

[如何初始化JavaScript的日期到特定的時區(http://stackoverflow.com/questions/15141762/how-to-initialize-javascript-date-to-a-particular-timezone) –

回答

1

可以將所有Z在約會結束。這樣new Date(2017-04-26T07:49:09Z);將解決到您當地的時間。

+0

你的解決方案像一個魅力。謝謝! –

+1

如果原始字符串是UTC,則只有「有效」。 – RobG

0

日期解析與momentjs最好。 它更可靠,並提供跨瀏覽器支持。

然後你可以用它來實現你想要做什麼:https://momentjs.com/docs/#/manipulating/local/

+0

感謝可能的複製你,我知道那一刻,但我不想使用任何圖書館。上面接受的答案解決了我在香草js中的問題! –

+0

這應該是一個評論,這不是一個答案。 – RobG