我有以下代码

 datePicker.change(function(){
        dateSet = datePicker.val();
        dateMinimum = dateChange();
        dateSetD = new Date(dateSet);
        dateMinimumD = new Date(dateMinimum);
        if(dateSetD<dateMinimumD){
            datePicker.val(dateMinimum);
            alert('You can not amend down due dates');
        }
    })

dateSet =“01/07/2010”
dateMinimum =“23/7/2010”

两者都是英国格式。比较日期对象时,dateSetD应该小于dateMinimumD,但不能小于。我认为这与我使用英国日期dd / mm / yyyy的事实有关。我需要进行哪些更改才能使其正常工作?

最佳答案

JavaScript Date构造函数不会解析该格式的字符串(无论是英国格式还是美国格式)。有关详细信息,请参见the spec,但是您可以逐部分构造日期:

new Date(year, month, day);

MomentJS可能对于灵活处理日期很有用。 (此答案以前与this lib关联,但是很长一段时间没有得到维护。)

07-24 09:43
查看更多