如何在序列化时告诉javascript不将日期对象转换为UTC

时间:2016-10-04 07:12:35

标签: javascript json date

我想要

JSON.stringify(new Date()); 

返回本地日期。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

处理此问题的最佳方法是编写 replacer 函数并将其传递给JSON.stringify。替换者将检测日期并输出您想要的格式。

JSON.stringify(new Date(), function(key, value) {
    var rawValue = this[key];
    if (rawValue instanceof Date) {
        return /*...whatever format you want using `rawValue`...*/;
    }
    return value;
});

我已经将它作为内联函数,但当然你可以使它成为你重用的命名函数。

示例:

console.log(JSON.stringify(new Date(), function(key, value) {
  var rawValue = this[key];
  if (rawValue instanceof Date) {
    return "Your string here for " + rawValue;
  }
  return value;
}));