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