📌  相关文章
📜  javascript 解析日期 dd mm yyyy hh:mm:ss - Javascript (1)

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

JavaScript 解析日期 dd mm yyyy hh:mm:ss

如果你需要解析日期,JavaScript 提供了很多方法和函数,但在本文中,我们将重点讲解如何解析给定格式的日期。假设日期的格式是 "dd mm yyyy hh:mm:ss",我们将演示几种方法来解析它。

方法一:使用正则表达式解析

使用正则表达式是将日期字符串解析为一个 Date 对象的一种比较方便的方法。

const dateString = "28 05 2021 15:25:30";
const [dd, mm, yyyy, hh, min, ss] = dateString.match(/\d+/g);

const date = new Date(Date.UTC(yyyy, mm - 1, dd, hh, min, ss));
console.log(date); // Fri May 28 2021 15:25:30 GMT+0000 (Coordinated Universal Time)

先使用正则表达式提取出字符串中的数字,然后再使用 Date 构造器创建一个 Date 对象。

方法二:使用 moment.js 库

moment.js 是一个优秀的 JavaScript 库,为处理日期和时间提供了很多方便的函数。使用 moment.js,可以轻松解析日期字符串,如下所示:

const dateString = "28 05 2021 15:25:30";
const date = moment.utc(dateString, "DD MM YYYY HH:mm:ss").toDate();
console.log(date); // Fri May 28 2021 15:25:30 GMT+0000 (Coordinated Universal Time)

moment.utc() 函数将日期字符串转换为 UTC 时间,并返回一个 moment 对象,再使用 toDate() 函数将其转换为 Date 对象。

方法三:使用 Date.parse() 函数

JavaScript 中内置的 Date.parse() 函数可以将日期字符串转换为毫秒数,从而创建一个新的 Date 对象。

const dateString = "28 05 2021 15:25:30";
const date = new Date(Date.parse(`${dateString.split(" ").reverse().join("-")}T${dateString.split(" ")[3]}`));
console.log(date); // Fri May 28 2021 15:25:30 GMT+0000 (Coordinated Universal Time)

上述代码首先通过 split() 函数将日期字符串分成数组,然后使用 reverse() 函数将其反转,以符合 ISO 8601 标准格式,最后使用 Date.parse() 函数创建一个新的 Date 对象。

以上就是三种解析日期字符串的方法,使用上述任何一种方法都可以轻松解析 "dd mm yyyy hh:mm:ss" 这种格式的日期。