Phương pháp này là trên line 1380 in the jQuery ui datepicker:Ai đó có thể giải thích tại sao điều này trong jQuery UI Datepicker?
_daylightSavingAdjust: function(date) {
if (!date) {
return null;
}
date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
return date;
}
Nó được sử dụng ở nhiều nơi trong các mã datepicker. Theo như tôi có thể nhìn thấy đoạn mã này sẽ chỉ cần thêm 2 giờ để bất kỳ thời điểm đó có những giờ> 12 trường hợp thiết lập giờ để 0.
Tôi đã thử nó trong giao diện điều khiển của tôi:
date = new Date();
console.log("" + date);
date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
console.log("" + date);
Và tôi đã :
Tue Dec 06 2011 18:36:06 GMT+0100 (CET)
Tue Dec 06 2011 20:36:06 GMT+0100 (CET)
Tôi đoán nó thực hiện những gì nó nói, điều chỉnh thời gian để tiết kiệm ánh sáng ban ngày cho các trường hợp mà đó là vấn đề. Nơi tôi sống mặc dù, tiết kiệm ánh sáng ban ngày chỉ là một giờ, không phải là hai giờ? – adeneo
Đã thêm liên kết vào dòng mã thực tế trong câu hỏi của bạn. Có một bình luận trong đó, nhưng nó không làm cho vấn đề rõ ràng hơn nhiều. Có vẻ như họ đang cố gắng kích hoạt ngày để tăng đến ngày hôm sau trong một số trường hợp góc, nhưng tôi không thực sự theo logic. Tâm trí bạn, mã đó cũng thiết lập rõ ràng giờ thành '0' khi' <= 12'. –
Sau khi xem xét kỹ hơn, tôi thấy rằng phương pháp này được sử dụng đúng với ngày tháng. Trong phương thức datepicker.parseDate, ví dụ, sau khi chuyển một ngày mới cho ánh sáng ban ngàySavingĐiều chỉnh nó, sau đó được kiểm tra xem có thay đổi hay không. Nếu nó đã làm, một lỗi được nêu ra. – disc0dancer