为什么这个日期在javascript中不起作用?

为什么这个日期在javascript中不起作用?,javascript,datepicker,Javascript,Datepicker,所以我有个小问题 如果我输入js,如下所示: var date1 = '05/05/2012' var date2 = 06/06/2014' if (date2 > date1){ alert('it works'); } date2 = document.getElementById(date_id).value; // '06/06/2014' 但这似乎不起作用?我是说它不警觉…为什么 但我实际使用的日期2如下所示: var date1 = '05/05/2012'

所以我有个小问题

如果我输入js,如下所示:

 var date1 = '05/05/2012'

 var date2 = 06/06/2014'

if (date2 > date1){

alert('it works');
}
date2 = document.getElementById(date_id).value; // '06/06/2014'
但这似乎不起作用?我是说它不警觉…为什么

但我实际使用的日期2如下所示:

 var date1 = '05/05/2012'

 var date2 = 06/06/2014'

if (date2 > date1){

alert('it works');
}
date2 = document.getElementById(date_id).value; // '06/06/2014'
我向浏览器回显或提醒date2,其性能显示为“06/06/2014”


但这种情况不起作用吗?任何线索

您正在比较字符串对象而不是日期

使用Date()对象

我的建议是:

var date1 = new Date(year1, month1, day1);
var date2 = new Date(year2, month2, day2);

// compare it
date1 < date2 && console.log('date1 < date2');
date1 > date2 && console.log('date1 > date2');
date1.getTime() == date2.getTime() && console.log('date1 == date2');
var date1=新日期(第1年、第1个月、第1天);
var date2=新日期(第2年、第2个月、第2天);
//比较一下
date1date2&&console.log('date1>date2');
date1.getTime()==date2.getTime()&&console.log('date1==date2');

这是一个字符串,不是日期对象。另外,您在Date2中缺少了一个'YYYY-MM-DD或YYYY-MM-DDTHH:MM:ss但是使用ISO格式是最安全的。非常正确,我年轻时就搬家了,所以我学习了M/D/Y和D/M/Y,直到今天我仍然感到困惑,除非我把它放在ISO中。