Materi
Objek Date menyimpan satu angka: milidetik sejak 1 Januari 1970 pukul 00.00 UTC. Method seperti getDate dan getHours menerjemahkan angka itu ke zona waktu komputer yang menjalankan kode, sehingga kode yang sama bisa memberi tanggal berbeda di Jakarta dan di Jayapura. Untuk data yang dipertukarkan atau dihitung, pakai pasangan UTC-nya: Date.UTC untuk membuat, getUTCFullYear, getUTCMonth, getUTCDate, dan getUTCDay untuk membaca, serta toISOString yang selalu ditulis dalam UTC dengan akhiran Z.
Bulan dihitung dari 0: Januari 0, Desember 11. Hari dalam minggu dari getUTCDay juga dimulai 0 untuk Minggu. Nilai di luar rentang tidak ditolak melainkan digulirkan, sehingga tanggal 32 Januari menjadi 1 Februari. Karena Date menyimpan milidetik, selisih dua tanggal dibagi 86.400.000 untuk mendapat jumlah hari, dan menambah hari dilakukan dengan setUTCDate(getUTCDate() + n).
const mulai = new Date(Date.UTC(2026, 6, 28)); // 28 Juli 2026
mulai.toISOString(); // "2026-07-28T00:00:00.000Z"
mulai.getUTCDay(); // 2 (Selasa)
const akhir = new Date("2026-08-04"); // bentuk tanggal saja dibaca UTC
(akhir - mulai) / 86400000; // 7
String(7).padStart(3, "0"); // "007"
`${String(mulai.getUTCMonth() + 1).padStart(2, "0")}/${mulai.getUTCFullYear()}`; // "07/2026"padStart(panjang, pengisi) menambah karakter di depan teks sampai panjangnya tercapai; angka diubah dulu menjadi teks dengan String. Pola ini membuat tanggal dan nomor urut selalu sama lebar, sehingga urutan abjadnya juga urutan waktunya.