以下是JS简单实现String转Date的方法的攻略。
1. 解析字符串为Date对象
首先要做的是将字符串解析为Date对象,可以使用内置函数 Date.parse
或 new Date
。推荐使用 new Date
的方式。
// 方法一:使用Date.parse
let dateString = '2021-08-12';
let date = new Date(Date.parse(dateString));
console.log(date);
// 输出: Thu Aug 12 2021 08:00:00 GMT+0800 (中国标准时间)
// 方法二:使用new Date
let dateString = '2021-08-12';
let date = new Date(dateString);
console.log(date);
// 输出: Thu Aug 12 2021 08:00:00 GMT+0800 (中国标准时间)
在这两种方法中,我们先声明了一个日期格式的字符串 dateString
,然后分别使用 Date.parse
和 new Date
方法将其解析为 Date 类型并存储在变量 date
中。这里需要注意的是,两种方式中传入 new Date
的字符串参数,格式都需要满足JavaScript Date对象的标准化格式,即 "YYYY-MM-DDTHH:mm:ss.sssZ"。
2. 字符串截取方式转换为Date
如果我们并不想依赖于JavaScript的内置函数,自己想实现一个字符串转Date的方法,可以使用字符串截取的方法。例如,我们有一个格式为 "YYYY-MM-DD" 的字符串,可以按照如下方式转换为Date类型:
function stringToDate(dateString) {
let year = dateString.substr(0, 4);
let month = dateString.substr(5, 2) - 1; // 月份从0开始,所以要-1
let day = dateString.substr(8, 2);
let date = new Date(year, month, day);
return date;
}
console.log(stringToDate('2021-08-12'));
// 输出: Thu Aug 12 2021 08:00:00 GMT+0800 (中国标准时间)
在这个例子中,我们定义了一个名为 stringToDate
的函数,该参数接收一个格式为 "YYYY-MM-DD" 的日期格式字符串。首先,我们使用 substr
方法从字符串中截取出年月日三个数字,然后我们将月份减去1,因为JavaScript中月份是从0开始计算的,然后调用 new Date
方法将年月日转换为JavaScript Date类型。
3. 建议
虽然这两种方式都能实现将字符串转化为JavaScript Date类型,但是推荐使用第一个方式,即使用内置函数将字符串转换为Date。因为字符串截取的方式,容易受到具体格式的限制,不具有通用性。
希望以上的攻略能够对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS简单实现String转Date的方法 - Python技术站