📜  javascript中的字符串日期到日期(1)

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

将 JavaScript 中的字符串日期转换为日期

在 JavaScript 中,我们可以使用字符串来表示日期,例如 "2021-08-05"。但是,有时候我们需要将这些字符串转换为 JavaScript 中的日期对象,以便进行日期操作和计算。在本文中,我们将介绍如何将 JavaScript 中的字符串日期转换为日期。

使用 Date 构造函数

JavaScript 中的 Date 构造函数可以接收表示日期和时间的字符串作为参数,返回一个对应的日期对象。

const dateString = "2021-08-05";
const date = new Date(dateString);
console.log(date);  // 输出:Thu Aug 05 2021 00:00:00 GMT+0800 (中国标准时间)

在上面的代码中,我们使用 Date 构造函数将字符串 "2021-08-05" 转换为日期,并将其赋值给变量 date。最后,我们将 date 打印到控制台中。可以看到,date 变量中存储的是一个日期对象,表示 2021 年 8 月 5 日零点整。

需要注意的是,Date 构造函数默认使用本地时间来解析日期字符串。如果需要使用其他时区,可以使用 Date.UTC() 方法来指定。例如,以下代码将使用格林威治标准时间 (GMT) 来解析日期字符串:

const dateString = "2021-08-05T08:00:00Z";  // 注意这里的日期字符串带有时区信息
const date = new Date(Date.UTC(2021, 7, 5, 8, 0, 0));  // 月份是从 0 开始计数的,所以这里是 7
console.log(date);  // 输出:Thu Aug 05 2021 16:00:00 GMT+0800 (中国标准时间)
使用日期库

除了使用 Date 构造函数之外,我们还可以使用第三方的日期库来转换字符串日期。常见的日期库有 Moment.js 和 Day.js 等。例如,使用 Moment.js 将字符串日期转换为日期:

const dateString = "2021-08-05";
const date = moment(dateString, "YYYY-MM-DD").toDate();
console.log(date);  // 输出:Thu Aug 05 2021 00:00:00 GMT+0800 (中国标准时间)

在上面的代码中,我们首先引入 Moment.js 库,并将字符串日期和日期格式字符串传递给 moment() 函数。然后,使用 toDate() 方法将 Moment.js 对象转换为 JavaScript 中的日期对象。

Day.js 的用法与 Moment.js 类似,可以参考官方文档:https://day.js.org/docs/en/parse/string-format。

总结

本文介绍了如何将 JavaScript 中的字符串日期转换为日期。我们可以使用 Date 构造函数或第三方的日期库来实现这一功能。希望本文对你有所帮助!