JSON.stringify转换JSON时日期时间不准确的解决方法

2019-12-21,,

调用JSON.stringify将对象转为对应的字符串时,如果包含时间对象,时间对象会被转换为国家标准时间(ISO),而不是当前国家区域的时间,测试代码如下:

复制代码 代码如下:
<script>
    //var o = new Date();
    //console.log(o.toString())//中国时区时间,格式如“Wed Jun 11 2014 10:51:42 GMT+0800”
    //console.log(JSON.stringify(o)); //输出国际标准时间(ISO),减少了8个小时 格式如“2014-06-11T02:51:42.624Z”
</script>

要想JSON.stringify转换日期对象Date返回当前所在国家的时区,而不是国际标准时间,可以重写Date对象的prototype的toJSON方法,返回自定义时间格式,因为JSON.stringify调用的就是Date对象的toJSON方法,示例如下:

复制代码 代码如下:
<script>
    Date.prototype.toJSON = function () { return this.toLocaleString(); }
    var o = new Date();
    console.log(o.toString())//默认格式:“Wed Jun 11 2014 10:51:42 GMT+0800”
    console.log(JSON.stringify(o)); //输出自定义的本地时间:“2014年6月11日 10:57:27”
</script>

您可能感兴趣的文章:

  • 详解如何提升JSON.stringify()的性能
  • 详解关于JSON.parse()和JSON.stringify()的性能小测试
  • JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
  • JSON.stringify()方法讲解
  • JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
  • 解决JSON.stringify()自动将中文转译成unicode的问题
  • 你可能不知道的JSON.stringify()详解
  • JS实现JSON.stringify的实例代码讲解
  • JSON中key动态设置及JSON.parse和JSON.stringify()的区别
  • 浅谈JSON.stringify()和JOSN.parse()方法的不同
  • 关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
  • jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
  • 深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
  • 谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
  • 浅谈JSON.parse()和JSON.stringify()
  • 浅谈JSON中stringify 函数、toJosn函数和parse函数
  • JSON.parse()和JSON.stringify()使用介绍
  • 打印json对象的内容及JSON.stringify函数应用
  • js解析与序列化json数据(一)json.stringify()的基本用法
  • JSON.stringify 语法实例讲解
  • js JSON.stringify()基础详解

《JSON.stringify转换JSON时日期时间不准确的解决方法.doc》

下载本文的Word格式文档,以方便收藏与打印。