0

日付を操作しているときに、javascript の夏時間の問題に直面しています。対象国はイギリスです。

以前、3 月 31 日以前は、次のコードが正確な日付を示していました。

var caseClosed = new Date(now.getUTCFullYear(), now.getUTCMonth(), 
now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());

したがって、上記のコードによって取得された日付と別の日付 (システムの日付時刻に従って正しい日付を保存しているレガシーシステムからのもの) の 2 つの日付を区別するためにこれを使用すると、正の正しい値が得られました。

しかし、その日以降、たとえば今日、上記のコードを使用するたびに、1 時間短縮されます。これにより、2 つの日付の間に負の値が生じます。

たとえば、時刻が 18:06 の場合、上記のコードを使用して 17:06 として取得しています。そこで、次のコードを使用してみましたが、正しい時間が得られます。

var caseClosed = new Date(now.getFullYear(), now.getMonth(), 
now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds());

何が起こっているのか、また、上記のコード (UTC を使用せずに) が夏時間 (60 分) を与えないことで夏時間がオフの場合でも機能するかどうかを説明してもらえますか?

4

1 に答える 1