首頁  >  文章  >  web前端  >  JSON.stringify轉換JSON時日期時間不準確的解決方法_javascript技巧

JSON.stringify轉換JSON時日期時間不準確的解決方法_javascript技巧

WBOY
WBOY原創
2016-05-16 16:40:091783瀏覽

當呼叫JSON.stringify將物件轉換為對應的字串時,如果包含時間對象,時間對象會轉換為國家標準時間(ISO),而不是目前國家區域的時間,測試程式碼如下:

複製程式碼 程式碼如下:

<script><br />     //var o = new Date();<br />     //console.log(o.toString())//中國時區時間,格式如「Wed Jun 11 2014 10:51:42 GMT 0800」<br />     //console.log(JSON.stringify(o)); //輸出國際標準時間(ISO),減少了8個小時 格式如「2014-06-11T02:51:42.624Z」<br /> </script>

要想JSON.stringify轉換日期物件Date回傳目前所在國家的時區,而不是國際標準時間,可以重寫Date物件的prototype的toJSON方法,回傳自訂時間格式,因為JSON.stringify呼叫的就是Date物件的toJSON方法,範例如下:

複製程式碼 程式碼如下:

<script><br />     Date.prototype.toJSON = function () { return this.toLocaleString(); }<br />     var o = new Date();<br />     console.log(o.toString())//預設格式:「Wed Jun 11 2014 10:51:42 GMT 0800」<br />     console.log(JSON.stringify(o)); //輸出自訂的本地時間:「2014年6月11日 10:57:27」<br /> </script>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn