好吧,我不能直言不讳,我看了很多关于SF的帖子,但无法弄清楚。

我需要比较两个日期和时间,开始和结束。
如果结尾很棒,那么alert();

可在Chrome中使用,但不能在IE(9)
(格式为:2013年1月1日10:00)

var stDate = new Date(date +" "+ start);
var enDate = new Date(dateEnd + " "+ end);

        if ( Date.parse ( enDate ) > Date.parse ( stDate ) ) {
            alert('on no');
        }

请帮助,我卡住了...

最佳答案

只需创建一个自定义解析器,它比试图弄清楚不同的浏览器如何处理各种时间字符串格式要快得多:

function parse(datestring){
    var months = {"Jan":0,"Feb":1,"Mar":2,"Apr":3,"May":4,"Jun":5,"Jul":6,"Aug":7,"Sep":8,"Oct":9,"Nov":10,"Dec":11}
    var timearray = datestring.split(/[\-\ \:]/g)
    return Date.UTC(timearray[2],months[timearray[1]],timearray[0],timearray[3],timearray[4])
}

这将返回Unix时间(以毫秒为单位),并且使用UTC,从而避免了因夏时制时间的减少而带来的复杂性。它使用您指定的格式,但不验证输入。

09-25 16:10