在前端开发中,我们常常需要将日期字符串转换成日期对象。但是,不同的地区和语言习惯会使用不同的日期格式。因此,在处理日期字符串时,我们需要考虑多种不同的格式。本文将介绍如何使用JavaScript或jQuery解析三种不同格式的日期字符串。
1. “dd/mm/yyyy”格式的日期字符串
首先,让我们考虑最常见的日期格式之一:“dd/mm/yyyy”。要解析这种格式的日期字符串,我们可以使用JavaScript内置的Date对象的构造函数:
const dateString = '05/04/2023'; const dateParts = dateString.split('/'); const year = dateParts[2]; const month = dateParts[1] - 1; const day = dateParts[0]; const dateObject = new Date(year, month, day);
代码解释:
- 我们首先使用split()方法将日期字符串分割成日、月和年三个部分。
- 然后,我们从分割后的数组中提取出年、月和日的值,并将月份减去1,以符合JavaScript中月份的范围(0-11)。
- 最后,我们使用Date对象的构造函数创建一个新的日期对象。
2. “dd-mm-yyyy”格式的日期字符串
接下来,我们看一下另一种常见的日期格式:“dd-mm-yyyy”。与上面的例子类似,我们也可以使用Date对象的构造函数来解析这种格式的日期字符串:
const dateString = '05-04-2023'; const dateParts = dateString.split('-'); const year = dateParts[2]; const month = dateParts[1] - 1; const day = dateParts[0]; const dateObject = new Date(year, month, day);
代码解释:
- 与第一个例子类似,我们使用split()方法将日期字符串分割成日、月和年三个部分。
- 然后,我们从分割后的数组中提取出年、月和日的值,并将月份减去1,以符合JavaScript中月份的范围(0-11)。
- 最后,我们使用Date对象的构造函数创建一个新的日期对象。
3. “dd-mmm-yyyy”格式的日期字符串
最后,让我们考虑一种稍微复杂一些的日期格式:“dd-mmm-yyyy”。在这种情况下,我们需要将月份的缩写转换成对应的数字。为此,我们可以创建一个简单的映射表,并使用它来查找缩写所对应的数字:
-- -------------------- ---- ------- ----- -------- - - ------ -- ------ -- ------ -- ------ -- ------ -- ------ -- ------ -- ------ -- ------ -- ------ -- ------ --- ------ -- -- ----- ---------- - -------------- ----- --------- - ---------------------- ----- ---- - ------------- ----- ----- - ------------------------------------- ----- --- - ------------- ----- ---------- - --- ---------- ------ -----
代码解释:
- 首先,我们创建了一个名为monthMap的映射表,它将三个字母的月份缩写映射到对应的数字。
- 然后,我们使用split()方法将日期字符串分割成日、月和年三个部分。
- 接下来,我们从分割后的数组中提取出年、月和日的值。对于月份,我们首先将其转换为小写字母,并使用monthMap查找对应的数字。
- 最后,我们使用Date对象的构造函数创建一个新的日期对象。
总结
以上就是解析“dd/mm/yyyy”、“dd-mm
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/30403