2017-08-27 96 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

相关问题