dis*_*cer 5 jquery date datepicker
这个方法在jQuery ui datepicker的第1380行:
_daylightSavingAdjust: function(date) {
if (!date) {
return null;
}
date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
return date;
}
Run Code Online (Sandbox Code Playgroud)
它在datepicker代码中的许多地方使用.据我所知,这个代码只会增加2小时到任何小时> 12的日期,否则将小时数设置为0.
我在我的控制台中试了一下:
date = new Date();
console.log("" + date);
date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
console.log("" + date);
Run Code Online (Sandbox Code Playgroud)
我得到了:
Tue Dec 06 2011 18:36:06 GMT+0100 (CET)
Tue Dec 06 2011 20:36:06 GMT+0100 (CET)
Run Code Online (Sandbox Code Playgroud)
小智 5
评论确实有点神秘:
/* Handle switch to/from daylight saving.
Hours may be non-zero on daylight saving cut-over:
> 12 when midnight changeover, but then cannot generate
midnight datetime, so jump to 1AM, otherwise reset.
@param date (Date) the date to check
@return (Date) the corrected date */
Run Code Online (Sandbox Code Playgroud)
Datepicker从所选日期开始在内部创建日期对象,而不指定时间 - 因此使用午夜.在某些地方,DST在午夜开始播放,将时间推回到前一天的晚上11点.
因此,此函数查看Date对象的小时,以确定是否必须将时间推进两小时才能获得正确的日期.
| 归档时间: |
|
| 查看次数: |
1177 次 |
| 最近记录: |