问题解决 因为调用toJSON将对象转为对应的字符串时,如果包含时间对象,时间对象会被转换为国家标准时间(ISO),而不是当前国家区域的时间 new Date((this.data.starttime).replace(/-/g,‘/’)) 这里转成(中国标准时间) 并没有一点用 因为问题不是出在this.data.starttime 本身 正确的解决方法应该重写Date对象的prototype的toJSON方法 //重写Date对象的prototype的toJSON方法 Date.prototype.toJSON = function(){ return this.toLocaleString() } var date = new Date((this.data.starttime).replace(/-/g,"/")) console.log("date==" + date + "jsonDate== " + date.toJSON()) 输出结果:date==Mon Jul 27 2020 11:28:00 GMT+0800 (香港标准时间)jsonDate== 2020/7/27 上午11:28:00
日期转成JSON格式的时候时区发生变化,与转化前相差8小时?new Date("2020-07-27 09:43".replace(/-/g,"/") // 能获转化标准时间东八区的时间(正常时间)当转换为JSON时时间相差8小时
2020-07-27