鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ moment對象通過JSON.stringify(data)后少了8小時?

moment對象通過JSON.stringify(data)后少了8小時?

clipboard.png

回答
編輯回答
女流氓

你可以覆蓋默認的toJSON方法,format的參數(shù)可以根據(jù)你的需要自己設(shè)置,不過這樣會影響所有的moment對象:

moment.prototype.toJSON = function(){return moment(this).format("YYYY-MM-DD HH:mm:ss")}

如果不想影響所有的moment對象,你可以在需要轉(zhuǎn)化的moment對象上添加toJSON方法,來覆蓋原型上的toJSON方法:

let toJSON = function(){return moment(this).format("YYYY-MM-DD HH:mm:ss")}
data.beginDate.toJSON = toJSON
data.endDate.toJSON = toJSON
2018年9月16日 18:57
編輯回答
臭榴蓮

別激動,因為中國是東八區(qū),不同的時間表示法表示出來就不一樣。ISO 格式的可以表示到毫秒,使用0時區(qū)。默認的 toString 使用本地時區(qū)的 GMT 表示法。

var now = new Date();
console.log(now.toString()) // 本地 GMT 表示法,帶時區(qū)偏移信息
console.log(now.toGMTString()) // 世界 GMT 時 
console.log(now.toISOString()) // ISO 表示法
2017年3月18日 18:16