Jquery setdate设置的日期小于实际选定日期的日期

时间:2016-05-10 20:17:17

标签: javascript jquery datepicker

我在日期字段中使用jquery datepicker。 HTML:

<input class="timepicker" name="timepicker" id="from-datepicker"/>

现在,我将日期设置为:

var dateToSet = 2016-05-20;
$('#from-datepicker').datepicker("setDate", new Date(dateToSet));

但是,设置的值是2016-05-19而不是20。

谁能告诉我为什么会这样? 非常感谢。

1 个答案:

答案 0 :(得分:2)

我认为,由于您的时区,这是一个问题。 设置日期时,您必须添加时区偏移量。

让我们说,您的时区是UTC-05:00

var actual_date =   new Date(new Date(url_from_date).getTime() + 5 * 3600 * 1000 );
$('#from-datepicker').datepicker("setDate", actual_date );

通过首先从datepicker获取值然后添加偏移量来实现此目的。

 var date = $('#from-datepicker').datepicker('getDate');
 date.setMinutes(date.getMinutes() - date.getTimezoneOffset());