js关于日期比较大小

for(var i=0;i<shijian.length;i++){
var beginDate= shijian[i];
var endDate=new Date().Format("yyyy-MM-dd hh:mm:ss.S");

var d1 = new Date(beginDate.replace(/\-/g, "\/"));
var d2 = new Date(endDate.replace(/\-/g, "\/"));

if(beginDate!=""&&endDate!=""&&d2 > d1)
{
alert("不能选择已过期的信息");
return;
}
}
这样比较的话在 googol浏览器可以 但是在IE 和 火狐就不行 谁知道原因

第1个回答  推荐于2018-05-18
可以用用Date.parse()方法
var d1 = Date.parse('2014-09-28 19:00:00'),
    d2 = Date.parse('2014-09-28 2:00:00');
console.log(d1 > d2);

追问

还是不行 IE依然可以

追答IE下把日期格式转成 2014/9/28 这种格式的试试,
实在不行就取new Date(xxx).getTime()进行比较

本回答被网友采纳
第2个回答  2015-11-17
传入的日期参数为yyyy-mm-dd格式,a大于b返回false,a小于等于b返回true。
function compare_time(a,b) {
var arr=a.split("-");
var starttime=new Date(arr[0],arr[1],arr[2]);
var starttimes=starttime.getTime();
var arrs=b.split("-");
var endtime=new Date(arrs[0],arrs[1],arrs[2]);
var endtimes=endtime.getTime();
if(starttimes>endtimes)//开始大于结束
{
return false;
}
else{
return true;
}
}
第3个回答  2014-09-28
var a = new Date('2014-09-28 19:00:00')
var b = new Date('2014-09-28 19:00:01')
console.log(a.getTime() > b.getTime())

本回答被网友采纳