我正在尝试检查 mm.dd.yyyy 格式的日期是否大于今天并且小于从今天起 6 个月后的日期。
这是我的代码:
var isLinkExpiryDateWithinRange = function(value) {
var monthfield = value.split('.')[0];
var dayfield = value.split('.')[1];
var yearfield = value.split('.')[2];
var inputDate = new Date(yearfield, monthfield - 1, dayfield);
var today = new Date();
today = new Date(today.getFullYear(), today.getMonth(), today.getDate());
alert(inputDate > today);//alert-> true
var endDate = today;
endDate.setMonth(endDate.getMonth() + 6);
alert(inputDate > today);//alert-> false
if(inputDate > today && inputDate < endDate) {
alert('1');
} else {
alert('2');/always alert it
}
}
如果我执行isLinkExpiryDateWithinRange('12.08.2012')
,我希望它会显示 1,因为它在范围内,但它显示 2。此外,第一个警报显示为真,第二个警报显示为假。
谁能解释发生了什么?