jQuery UI,日历,查看日期是否超过2年

Hay Guys,我正在使用jQuery UI系统中的bog标准Calendar。 显示的结果(在用户点击日期之后)是MM / DD / YYYY。

我想检查一下这个日期是不是2岁

说用户选择

01/27/2004 

这应该说日期超过2年。 然而,

 12/25/2008 

应该通过测试。

有任何想法吗?

 var selectedDate = new Date('01/27/2004'); selectedDate.setFullYear(selectedDate.getFullYear()+2); var moreThan2YearsOld = selectedDate < new Date(); 

DateDiff以毫秒为单位返回日期之间的差异:

 function DateDiff(date1, date2){ return Math.abs(date1.getTime()-date2.getTime()); } 

……如果这大于相当于两年的微秒数……

 date1 = new Date("01/27/2004"); date2 = new Date(); // now DateDiff(date1, date2); // => 185717385653 // 31536000000 // == two years 

每年的毫秒数为31536000000。

更多关于此事: 在Javascript中计算日期差异的最佳方法是什么

您可以使用getFullYear函数来检查它。

你可以使用像(未经测试的):

 var date = new Date($('#calendarId').val()); var today = new Date(); var moreThan2Years = (today.getFullYear() - date.getFullYear()) > 2;