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

Jquery setdate sets date less than one than the actual selected date

本文关键字:日期 小于 setdate 设置 Jquery      更新时间:2023-09-26

我正在为日期字段使用jquery日期选择器。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。

有人能告诉我为什么会发生这种事吗?非常感谢。

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

假设您的时区是UTC-05:00

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

另一种方法是先从日期选择器中获取值,然后添加偏移量。

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