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

时间:2014-12-12 04:54:33

标签: javascript parsing date events

我正在使用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)。有没有其他方法跨浏览器?任何想法将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:1)

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

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
}

答案 1 :(得分:0)

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

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