Jquery ui 日期选择器可以';t在2/28上正确减去?
我不认为我有幻觉,因为我已经试了十几次了。这是我的密码:Jquery ui 日期选择器可以';t在2/28上正确减去?,jquery-ui,datepicker,Jquery Ui,Datepicker,我不认为我有幻觉,因为我已经试了十几次了。这是我的密码: $('#teo_prep_due').change(function() { var ber = $('#ber_rcvd'); var tpd = $('#teo_prep_due'); var brDate = ber.datepicker('getDate'); var tpDate = tpd.datepicker('getDate');
$('#teo_prep_due').change(function() {
var ber = $('#ber_rcvd');
var tpd = $('#teo_prep_due');
var brDate = ber.datepicker('getDate');
var tpDate = tpd.datepicker('getDate');
var s1Date = new Date();
var s2Date = new Date();
var sdDate = new Date();
s1Date.setDate(brDate.getDate() + 5);
console.log(s1Date);
s2Date.setDate(tpDate.getDate() - 3);
console.log(s2Date);
if (s1Date < s2Date) {
sdDate.setDate(s1Date.getDate());
} else {
sdDate.setDate(s2Date.getDate());
}
$('#survey_due').datepicker('setDate', sdDate);
});
$('teo#u prep_due')。更改(函数(){
var ber=$('ber#u rcvd');
var tpd=$('teo#u prep_due');
var brDate=ber.datepicker('getDate');
var tpDate=tpd.datepicker('getDate');
var s1Date=新日期();
变量s2Date=新日期();
var sdDate=新日期();
s1Date.setDate(brDate.getDate()+5);
控制台日志(s1Date);
s2Date.setDate(tpDate.getDate()-3);
控制台日志(s2Date);
如果(s1日期
在我的日期表上,我已输入了2013年2月28日和2013年3月14日的日期。根据代码,我的结果应该是2013年3月5日。然而,s2Date导致了2013年2月11日,就好像减去了整整一个月和三天,而不是仅仅三天。还有其他人碰到过这个吗
使用:jquery-1.9.1.min.js
,jquery-migrate-1.1.js
和jquery-ui-1.10.1.min.js
问题在于.setDate()
没有设置日期,而是设置月份的日期。它以整数作为参数。当您创建s2Date
时,它默认为2月份的今天。当您将tpDate.getDate()//与-3相加等于14时,得到11,因此是2月11日