3 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
最近,我遇到了同樣的問題。并使用以下代碼解決了該問題:
x = new Date();
let hoursDiff = x.getHours() - x.getTimezoneOffset() / 60;
let minutesDiff = (x.getHours() - x.getTimezoneOffset()) % 60;
x.setHours(hoursDiff);
x.setMinutes(minutesDiff);

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
JSON使用的Date.prototype.toISOString
功能不代表本地時(shí)間-它代表未經(jīng)修改的UTC時(shí)間-如果查看日期輸出,您會(huì)看到自己處于UTC + 2小時(shí),這就是JSON字符串更改兩個(gè)小時(shí)的原因,但是如果這樣允許在多個(gè)時(shí)區(qū)正確顯示同一時(shí)間。

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
這是另一個(gè)答案(我個(gè)人認(rèn)為更合適)
var currentDate = new Date();
currentDate = JSON.stringify(currentDate);
// Now currentDate is in a different format... oh gosh what do we do...
currentDate = new Date(JSON.parse(currentDate));
// Now currentDate is back to its original form :)
添加回答
舉報(bào)