📌  相关文章
📜  将日期 dd mm yyyy 转换为日期对象 js - Javascript (1)

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

将日期 dd mm yyyy 转换为日期对象 js - Javascript

在 JavaScript 中,我们可以使用 Date 对象来表示日期和时间,我们可以通过将日期字符串转换为 Date 对象来进行处理。

方法一:使用 new Date() 构造函数

我们可以使用 new Date() 构造函数来创建 Date 对象,它接受一个日期字符串作为参数,我们只需要将日期字符串按照 "mm dd yyyy" 的格式传入即可,代码如下所示:

const dateString = "12 31 2021";
const dateArray = dateString.split(" ");
const dateObject = new Date(
  `${dateArray[2]}-${dateArray[0]}-${dateArray[1]}T00:00:00Z`
);

console.log(dateObject); // Fri Dec 31 2021 08:00:00 GMT+0800 (中国标准时间)

代码解释如下:

  • 首先,我们定义了一个日期字符串 dateString,值为 "12 31 2021"。
  • 然后,我们将日期字符串按照空格进行分割,得到一个日期数组 dateArray,它的值为 ["12", "31", "2021"]。
  • 接着,我们使用 new Date() 构造函数来创建一个 Date 对象 dateObject,它的值为时间戳 "2021-12-31T00:00:00Z" 对应的 Date 对象。
  • 最后,我们通过 console.log() 方法将 dateObject 打印出来。

需要注意的是,在创建 Date 对象时,我们需要将日期字符串转换为 ISO 格式的日期字符串,因此我们使用 ${dateArray[2]}-${dateArray[0]}-${dateArray[1]}T00:00:00Z 来进行转换。其中,${dateArray[2]}-${dateArray[0]}-${dateArray[1]} 表示转换后的 ISO 格式的日期字符串,后面的 "T00:00:00Z" 表示日期的时间部分,它的值为 "00:00:00",将日期设置为零时。

方法二:使用 Date.parse() 方法

除了使用 new Date() 构造函数,我们还可以使用 Date.parse() 方法来将日期字符串转换为 Date 对象,代码如下所示:

const dateString = "12 31 2021";
const dateArray = dateString.split(" ");
const dateObject = new Date(
  Date.parse(`${dateArray[0]} ${dateArray[1]} ${dateArray[2]}`)
);

console.log(dateObject); // Fri Dec 31 2021 08:00:00 GMT+0800 (中国标准时间)

代码解释如下:

  • 首先,我们定义了一个日期字符串 dateString,值为 "12 31 2021"。
  • 然后,我们将日期字符串按照空格进行分割,得到一个日期数组 dateArray,它的值为 ["12", "31", "2021"]。
  • 接着,我们使用 Date.parse() 方法将日期字符串转换为时间戳,再使用 new Date() 构造函数来创建一个日期对象 dateObject
  • 最后,我们通过 console.log() 方法将 dateObject 打印出来。

需要注意的是,在使用 Date.parse() 方法时,我们需要将日期字符串转换为 "mm dd yyyy" 的格式,因此,我们使用了 ${dateArray[0]} ${dateArray[1]} ${dateArray[2]} 来进行转换。

无论是使用 new Date() 构造函数还是使用 Date.parse() 方法,都可以将日期字符串转换为 Date 对象,实现了将日期 dd mm yyyy 转换为日期对象的功能。

总结

本文介绍了两种将日期字符串转换为 Date 对象的方法,它们分别是使用 new Date() 构造函数和使用 Date.parse() 方法。无论是哪种方法,我们都需要将日期字符串转换为 ISO 格式的日期字符串,然后再使用 new Date() 构造函数来创建 Date 对象。