JSON.stringify时间的问题
使用Element UI控件el-date-picker后台传值用到JSON.stringify转换字符串传后台发现输出国际标准时间(ISO),减少了8个小时,
解决方式:
由于JSON.stringify解析Date是调用了Date对象的prototype的toJSON方法,所以我们重写它就可以了,如下:
1 Date.prototype.format = function(fmt) { 2 var o = { 3 "M+" : this.getMonth()+1, //月份 4 "d+" : this.getDate(), //日 5 "h+" : this.getHours(), //小时 6 "m+" : this.getMinutes(), //分 7 "s+" : this.getSeconds(), //秒 8 "q+" : Math.floor((this.getMonth()+3)/3), //季度 9 "S" : this.getMilliseconds() //毫秒 10 }; 11 if(/(y+)/.test(fmt)) { 12 fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 13 } 14 for(var k in o) { 15 if(new RegExp("("+ k +")").test(fmt)){ 16 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); 17 } 18 } 19 return fmt; 20 } 21 /* 22 * 重写时间的toJSON方法,因为在调用JSON.stringify的时候,时间转换就调用的toJSON,这样会导致少8个小时,所以重写它的toJSON方法 23 */ 24 Date.prototype.toJSON = function () { 25 return this.format("yyyy-MM-dd hh:mm:ss"); // util.formatDate是自定义的个时间格式化函数 26 }
如果你觉得不错,(点我)请我喝杯奶茶吧,O(∩_∩)O~
邮箱:wl131710@gmail.com、543253585@qq.com
★我的故乡江油市简介: 江油市是唐代大诗人李白的故乡,一座风景如画的历史文化名城,也是位于成都经济圈北端的一座正在崛起的新兴工业城市、旅游城市,素有“李白故里,九寨门户,蜀道咽喉,华夏诗城”之称。中国改革开放的总设计师邓小平为江油亲笔题写了“李白故里”四个苍劲有力的大字,近年来,又因著名武术大师海灯法师的影响而成为川北的武术之乡,可谓文武之光,交相辉映。此外,江油城郊的佛爷洞、金光洞均为川北名胜,作为古蜀道的重要通道,沿线古迹甚多。 李白纪念馆位于李白故里的昌明河畔,是一座具有唐代风格的古典园林建筑群,气韵飞动,豪放不羁,馆藏4000多件有关文物。