我使用此方法将日期字符串转换为 JavaScript 日期对象:
function convertToDateOrUndefined(dateString) {
if (dateString instanceof Date || dateString == null) {
return undefined;
}
return new Date(dateString.replace(/(\d{2})\.(\d{2})\.(\d{4})/,'$3-$2-$1'));
}
目前我有这个日期时间字符串“dd.MM.yyyy HH:mm”,我还需要一个函数来将此字符串转换为 js 日期对象。 我不太擅长正则表达式,因此我需要帮助 - 谢谢!
最佳答案
查看当前的正则表达式。您知道它会返回 dd.MM.yyyy
格式的日期,对吧?所以你可以假设三个 (\d{n})
代表日、月、年(\d
表示数字,{n}
表示 n
次,因此 \d{2}
表示两位数字;()
对每个部分进行分组,以便我们以后可以引用它们)。
在第二个字符串中,我们获取从第一个字符串中获得的部分,并对它们重新排序。 $1
是第一组(()
内正则表达式的部分),$2
是第二组,依此类推。
从这里开始,解决问题的方法就很简单了。我们只需要添加时间部分:
new Date(dateString.replace(/(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2})/,'$3-$2-$1 $4:$5'));
关于javascript - 从 dateTime 字符串转换为 javascript 日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41322791/