📅  最后修改于: 2023-12-03 15:38:17.465000             🧑  作者: Mango
在 JavaScript 中,我们可以使用 Date
对象来操作日期和时间。如果你有一个格式为 dd-mmm-yyyy
的字符串,需要将其转换为 Date
对象,可以按以下步骤进行:
split
方法将字符串分割为三个部分:日、月、年。const dateString = '01-Jan-2022';
const dateParts = dateString.split('-'); // ['01', 'Jan', '2022']
const monthNames = {
Jan: 0,
Feb: 1,
Mar: 2,
Apr: 3,
May: 4,
Jun: 5,
Jul: 6,
Aug: 7,
Sep: 8,
Oct: 9,
Nov: 10,
Dec: 11
};
const monthIndex = monthNames[dateParts[1]];
注意:由于 Date
对象中的月份是从 0 开始计数的,因此需要将月份对应的数字减 1。
Date.UTC
方法创建日期对象。const dateObject = new Date(Date.UTC(dateParts[2], monthIndex, dateParts[0]));
最后,dateObject
将是一个正确的 Date
对象,代表指定的日期。
完整的代码示例:
const dateString = '01-Jan-2022';
const dateParts = dateString.split('-');
const monthNames = {
Jan: 0,
Feb: 1,
Mar: 2,
Apr: 3,
May: 4,
Jun: 5,
Jul: 6,
Aug: 7,
Sep: 8,
Oct: 9,
Nov: 10,
Dec: 11
};
const monthIndex = monthNames[dateParts[1]];
const dateObject = new Date(Date.UTC(dateParts[2], monthIndex, dateParts[0]));
console.log(dateObject); // Fri Jan 01 2022 08:00:00 GMT+0800 (China Standard Time)
上面的代码中,Date.UTC
方法会返回一个以协调世界时 (UTC) 表示的时间戳(从 1970 年 1 月 1 日 00:00:00 UTC 开始计算,单位为毫秒),然后再使用 new Date
创建一个本地时间的 Date
对象。如果需要获取 UTC 时间,可以直接使用 Date.UTC
方法返回的时间戳。