Offset UTC berubah di antara tengah malam
NIST mencantumkan 8 Maret dan 1 November sebagai tanggal perubahan daylight saving AS pada 2026. Di America/New_York, dari tengah malam 8 Maret (-05:00) ke 9 Maret (-04:00) berlangsung 23 jam; dari tengah malam 1 November (-04:00) ke 2 November (-05:00) berlangsung 25 jam. Kedua pasangan berselisih 1 hari kalender. Contoh ini berlaku untuk perubahan satu jam di wilayah tersebut.
Pertahankan offset saat menghitung waktu berlalu
JavaScript berikut menafsirkan setiap saat dengan offset eksplisitnya dan membagi selisih milidetik dengan 3,600,000. Hasilnya 23 dan 25. Jangan hapus offset atau mengganti selisih tanggal dengan jam berlalu dibagi 24 lalu dibulatkan. Offset tetap saja tidak memuat aturan perubahan masa depan suatu wilayah.
Kalkulator tanggal Moyoutil memperlakukan YYYY-MM-DD sebagai tengah malam UTC. Kedua contoh menghasilkan 1 saat opsi menyertakan tanggal akhir dimatikan. Kalkulator ini tidak menghitung waktu berlalu regional. Kode berikut adalah contoh JavaScript terpisah.
const hours = (start, end) =>
(Date.parse(end) - Date.parse(start)) / 3600000;
console.log(hours(
'2026-03-08T00:00:00-05:00',
'2026-03-09T00:00:00-04:00')); // 23
console.log(hours(
'2026-11-01T00:00:00-04:00',
'2026-11-02T00:00:00-05:00')); // 25Pertanyaan yang Sering Diajukan
Apakah setiap hari di wilayah daylight saving berlangsung 23 atau 25 jam?
Tidak. Contoh ini mencakup dua tanggal perubahan di New York. Jangan terapkan hasilnya pada tanggal atau wilayah lain. Waktu berlalu sebenarnya memerlukan wilayah yang dimaksud dan offset valid untuk setiap saat.