📌  相关文章
📜  如何使用 JavaScript 将 JSON 结果转换为日期?(1)

📅  最后修改于: 2023-12-03 15:38:02.472000             🧑  作者: Mango

如何使用 JavaScript 将 JSON 结果转换为日期?

在编写 Web 应用程序时,经常需要将日期信息从后端传递到前端。而常用的数据格式是 JSON,那么如何将 JSON 字符串中的日期信息转换成 JavaScript 的 Date 对象呢?下面我们就来介绍一下这个过程。

1. JSON 中的日期格式

在 JSON 中表示日期信息的格式有多种,以下是常见的几种:

ISO 标准格式

ISO 8601 是一个时间和日期的国际标准。在 JSON 中日期可使用以下格式:

  • YYYY-MM-DD
  • YYYY-MM-DDTHH:mm:ssZ
  • YYYY-MM-DDTHH:mm:ss.sssZ

其中,YYYY 表示年份,MM 表示月份,DD 表示日期,HH 表示小时,mm 表示分钟,ss 表示秒钟,sss 表示毫秒,Z 表示时区。

Unix 时间戳格式

Unix 时间戳是从 1970 年 1 月 1 日 0 时 0 分 0 秒 UTC 开始所经过的秒数。在 JSON 中如果用 Unix 时间戳表示日期,则只需要将日期信息转换成对应的秒数即可。

2. 转换方法
使用 Date 方法

JavaScript 内置了 Date 对象,可以将日期字符串转换成对应的 Date 对象。以下是示例代码:

const jsonDate = "2022-12-31T23:59:59Z";
const date = new Date(jsonDate);
console.log(date);

输出结果为:

Sat Dec 31 2022 23:59:59 GMT+0800 (中国标准时间)

可以看到,Date 对象已经将 JSON 中的日期字符串转换成了对应的日期对象。

使用第三方库

除了使用 Date 方法外,我们还可以使用第三方库来实现日期的转换。比较常用的有 moment.js、date-fns 等等。以下是示例代码:

moment.js:

const jsonDate = "2022-12-31T23:59:59Z";
const date = moment(jsonDate).toDate();
console.log(date);

输出结果为:

Sat Dec 31 2022 23:59:59 GMT+0800 (中国标准时间)

date-fns:

import { parseISO } from 'date-fns';

const jsonDate = "2022-12-31T23:59:59Z";
const date = parseISO(jsonDate);
console.log(date);

输出结果也为:

Sat Dec 31 2022 23:59:59 GMT+0800 (中国标准时间)
3. 结论

以上是在 JavaScript 中将 JSON 中的日期信息转换成 Date 对象的两种方法。使用哪种方法取决于个人需求和偏好,但基于上文提到的常见日期格式,使用内置的 Date 对象可能更为简单快捷。