需要 Date.parse 以外的方法来解析日期字符串

Need methods other than Date.parse to parse a date string

本文关键字:日期 字符串 方法 Date parse 需要      更新时间:2023-09-26

我正在使用JS从表中提取内容并在页面上创建事件列表项。

我使用Date.parse将输入日期与今天的日期进行比较,并且仅根据var eventDate的 MM/DD/YY 值显示未来的事件。

<script>
    today       = new Date(); today.setDate(today.getDate() - 1);
    eventDate   = $(this).find("td:nth-child(3)").text().trim();
    if (Date.parse(eventDate) > Date.parse(today)) {
    //Do something...
    }
</script>

我很高兴看到Date.parse的使用如此简单,然后意识到它只能在Chrome中工作(不适用于Firefox或IE)。还有其他方法可以跨浏览器执行此操作吗?任何想法将不胜感激。谢谢!

如果您不介意向项目添加库;Moment.js 在处理未转换为 Date.parse 输入的日期时提供了一组全面的格式设置和查询函数。它流畅的界面为日期比较提供了更好的可读性:

var dateFormat = "MM/DD/YY";
var today      = moment().subtract(1, "day");
var eventDate  = moment($(this).find("td:nth-child(3)").text().trim(), dateFormat);
if (moment(eventDate).isAfter(today)) {
    // Do something
}

您可以像这样转换日期格式:

'01/02/13'.replace(/^('d{2})'/('d{2})'/('d{2})$/, '20$3-$1-$2')
// 2013-01-02