2017-08-27 93 views
1

我通過ajax傳遞php日期時間對象。通過Ajax將php日期時間對象傳遞給javascript

現在我可以在javascript中獲得這樣的效果。

{"timezone":{"name":"Asia\/Tokyo","location":{"country_code":"JP","latitude":35.65231,"longitude":139.74232,"comments":""}},"offset":32400,"timestamp":1472655600} 

我該如何改變這個javascript數據對象。

起初,解析日期,

myDate = JSON.parse(myDate||"null"); 
console.log(myDate); 

然後我可以得到consolelog這樣。

{timezone: {…}, offset: 32400, timestamp: 1472655600} 

回答

1

應該是超級容易,因爲你mutltiply PHP劃時代時間1000:

var str = '{"timezone":{"name":"Asia\/Tokyo","location":{"country_code":"JP","latitude":35.65231,"longitude":139.74232,"comments":""}},"offset":32400,"timestamp":1472655600}'; 

var myDate = JSON.parse(str||"null"); 

var date = new Date(myDate['timestamp'] * 1000); 

alert(date); 

如果需要,雖然調整時區,你可能需要像moment.js外部庫。如果是這樣的話,看看這個:Convert date to another timezone in JavaScript。也就是說,如果您從PHP獲得時區,並且您需要修改日期時間,那麼在您發送回覆之前執行此操作會更容易。

+0

非常感謝。正如你所提到的,我理解時間戳的系統,最好在我的情況下將DateTime更改爲字符串。但你的解釋是非常好的,對於javascript的情況很有幫助。 – whitebear

相關問題