5
この方法はline 1380 in the jQuery ui datepickerである:それは、DatePickerのコード内の多くの場所で使用されているjQueryのUI Datepickerにこれがなぜあるのか説明できますか?
_daylightSavingAdjust: function(date) {
if (!date) {
return null;
}
date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
return date;
}
。
date = new Date();
console.log("" + date);
date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
console.log("" + date);
そして、私が得た:私の知る限り、このコードは、わずか数時間> 12を有する任意の日付に2時間を追加します見ることができるようにそれ以外の場合は0
に時間を設定し、私は私のコンソールでそれを試してみました:
Tue Dec 06 2011 18:36:06 GMT+0100 (CET)
Tue Dec 06 2011 20:36:06 GMT+0100 (CET)
私はそれが言うことを推測しています、それが問題であるインスタンスの夏時間の時間を調整します。私が住んでいる場所では、夏時間はわずか1時間で、2時間ではありませんか? – adeneo
質問に実際のコード行へのリンクが追加されました。そこにはコメントがありますが、問題を全体的にはっきりさせるものではありません。彼らはいくつかのコーナーケースでは、次の日に増加する日付をトリガーしようとしているように見えますが、私は本当にロジックに従っていない。あなたが気にしていることは、コードは明示的に '<= 12'の時に' 0'に時間を設定していることです。 –
詳細を調べたところ、このメソッドは厳密に日付とともに使用されていました。たとえば、datepicker.parseDateメソッドでは、daylightSavingAdjustに新しい日付を渡した後、変更されたかどうかを確認するためにチェックされます。もしそうであれば、エラーが発生します。 – disc0dancer