当从 JSON 格式中解析日期时,你可以使用 JSON.parse() 的第二个参数,即 "reviver" 函数,来进行自定义处理。以下是一个将 JSON 中日期字符串转换为 JavaScript Date 对象的例子:
function reviveDates(key, value) {
  if (typeof value === 'string') {
    // 正则表达式匹配日期格式,例如:2022-12-09T12:34:56.789Z
    var dateRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z$/;
    if (dateRegex.test(value)) {
      return new Date(value);
    }
  }
  return value;
}

var jsonString = '{"name":"John Doe","birthDate":"2022-12-09T12:34:56.789Z"}';

// 使用 JSON.parse() 解析 JSON 字符串,使用 reviveDates 处理日期
var jsonObject = JSON.parse(jsonString, reviveDates);

console.log(jsonObject.birthDate instanceof Date); // 输出 true
console.log(jsonObject.birthDate.toISOString()); // 输出 "2022-12-09T12:34:56.789Z"

在这个例子中,reviveDates 函数被传递给 JSON.parse() 的第二个参数,它检查值是否是一个符合日期格式的字符串,并在是的情况下创建一个 Date 对象。

请注意,日期字符串格式可能因系统和库的不同而有所差异。在实际应用中,你可能需要根据你的数据格式进行适当的调整。


转载请注明出处:http://www.zyzy.cn/article/detail/4566/JSON