检查日期是否早于今天

时间:2012-10-29 13:24:15

标签: javascript

   alert(date2);//Sat Oct 29 0112 00:00:00 GMT+0100 (GMT Daylight Time) 
   alert(date1);//Fri Oct 12 2012 00:00:00 GMT+0100 (GMT Daylight Time)

if (date1.getTime()<date2.getTime()) {
     alert('your date can not be earlier than today.');
}

我的问题是为什么我看不到警报?有什么问题吗?

编辑:

var today = new Date();
date2 = new Date(today.getYear(), today.getMonth(), today.getDate());

为什么这一年显示为0112 ??

5 个答案:

答案 0 :(得分:3)

您的日期1是2012年,而您的日期2是112年,您测试date1是否低于date2。 2012年优于112年,所以没有错误

答案 1 :(得分:3)

首先,您将两个日期拆分为月,日和年的不同值。您可以使用一个月的数组来查找月份的数字。然后:

var date1 = new Date;
var date2 = new Date;
date1.setDate(29);
date1.setMonth(10);
date1.setFullYear(2012);

date2.setDate(12);
date2.setMonth(10);
date2.setFullYear(2012);

if(date1>date2)
alert('Date1 is greater');
else
alert('Date2 is greater');

答案 2 :(得分:2)

使用getFullYear(),而不是getYear()

在某些实现中,getYear()返回自1900年以来的年数。这就是为什么你今年获得112年。

答案 3 :(得分:0)

日期1是在2012年,日期2是在0112,因此日期2在日期1之前,因此您没有看到警报。

答案 4 :(得分:0)

date of date2是0112,date1是2012