好的,我无法理解这一点,我看了很多关于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');
}
请帮忙,我卡住......
答案 0 :(得分:3)
只需制作一个自定义解析器,它比试图计算不同浏览器如何处理各种时间字符串格式要快得多:
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,从而避免了夏令时缺失时间的复杂化。它适用于您指定的格式,但不验证输入。
答案 1 :(得分:2)
if ( enDate.getTime() > stDate.getTime() ) {
alert('oh no');
}
推送号码(+enDate
)与使用.getTime()
方法相同:
if ( +enDate > +stDate ) {
alert('oh no');
}
答案 2 :(得分:0)
var stDate = new Date(date +" "+ start);
var enDate = new Date(dateEnd + " "+ end);
if ( enDate.getTime() > stDate.getTime() ) {
alert('on no');
}
创建Date对象:
var d = new Date();
var d = new Date(milliseconds);
var d = new Date(dateString);
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
getTime()返回自1970/01/01以来的毫秒数