JSON.stringify轉(zhuǎn)換JSON時(shí)日期時(shí)間不準(zhǔn)確的解決方法
調(diào)用JSON.stringify將對(duì)象轉(zhuǎn)為對(duì)應(yīng)的字符串時(shí),如果包含時(shí)間對(duì)象,時(shí)間對(duì)象會(huì)被轉(zhuǎn)換為國家標(biāo)準(zhǔn)時(shí)間(ISO),而不是當(dāng)前國家區(qū)域的時(shí)間,測(cè)試代碼如下:

<script>
//var o = new Date();
//console.log(o.toString())//中國時(shí)區(qū)時(shí)間,格式如“Wed Jun 11 2014 10:51:42 GMT+0800”
//console.log(JSON.stringify(o)); //輸出國際標(biāo)準(zhǔn)時(shí)間(ISO),減少了8個(gè)小時(shí) 格式如“2014-06-11T02:51:42.624Z”
</script>
要想JSON.stringify轉(zhuǎn)換日期對(duì)象Date返回當(dāng)前所在國家的時(shí)區(qū),而不是國際標(biāo)準(zhǔn)時(shí)間,可以重寫Date對(duì)象的prototype的toJSON方法,返回自定義時(shí)間格式,因?yàn)镴SON.stringify調(diào)用的就是Date對(duì)象的toJSON方法,示例如下:

<script>
Date.prototype.toJSON = function () { return this.toLocaleString(); }
var o = new Date();
console.log(o.toString())//默認(rèn)格式:“Wed Jun 11 2014 10:51:42 GMT+0800”
console.log(JSON.stringify(o)); //輸出自定義的本地時(shí)間:“2014年6月11日 10:57:27”
</script>
相關(guān)文章
node在兩個(gè)div之間移動(dòng),用ztree實(shí)現(xiàn)
本文介紹了“node在兩個(gè)div之間移動(dòng),用ztree實(shí)現(xiàn)”的方法,需要的朋友可以參考一下2013-03-03
js實(shí)現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作
這篇文章主要介紹了js實(shí)現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-01-01
JavaScript字符和ASCII實(shí)現(xiàn)互相轉(zhuǎn)換
這篇文章主要介紹了JavaScript字符和ASCII實(shí)現(xiàn)互相轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Ajax局部更新導(dǎo)致JS事件重復(fù)觸發(fā)問題的解決方法
如果頁面中包含一個(gè)ajax更新的列表,那么需要小心非動(dòng)態(tài)更新部分的事件處理,下面以帶有公共工具欄的列表界面為例2014-10-10
VSCode Webview中實(shí)現(xiàn)點(diǎn)擊下載圖片的基本流程
這篇文章主要介紹了VSCode Webview中如何實(shí)現(xiàn)點(diǎn)擊下載圖片,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04

