javascript - 从 dateTime 字符串转换为 javascript 日期对象

标签 javascript regex

我使用此方法将日期字符串转换为 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/

相关文章:

javascript - 如何在客户端展示海量报表数据(mongoDB、JS)

javascript - JS-JQuery window.scroll 在 Mozilla Firefox 中触发多个请求

javascript - Jquery $.fn 不工作

javascript:如何通过名称字符串调用 var?

java - 检查 url 是否等于或者是 的子目录?

java - 在Java中使用正则表达式获取 "get this"中的字符串 "adfadf[somestring] get-this adfaf"

javascript - 调整窗口大小时,转换后的元素不遵守 Firefox 上的绝对位置

Python - 大型日志文件上的正则表达式

ruby - 正则表达式只匹配空格

javascript - 正则表达式: matching certain format but excluding specific value