
1. Keunggulan Intl.DateTimeFormat
-
Multibahasa: Mengubah nama hari dan bulan ke bahasa apa pun (Indonesia, Inggris, Arab, Jepang, dll.) tanpa membuat array manual.
-
Adaptif: Menyesuaikan urutan tanggal (misal: di AS Bulan/Hari/Tahun, di Indonesia Hari/Bulan/Tahun).
-
Opsi Fleksibel: Kita bisa mengatur apakah ingin menampilkan nama hari secara lengkap, singkat, atau hanya angka.
2. Cara Penggunaan Dasar
Sintaks dasarnya adalah membuat objek formatter terlebih dahulu, lalu memasukkan tanggal yang ingin diformat.
const sekarang = new Date(); // Membuat formatter untuk lokasi Indonesia (id-ID)
const formatter = new Intl.DateTimeFormat('id-ID'); console.log(formatter.format(sekarang)); // Output: 14/05/2026
3. Menggunakan Objek Konfigurasi (Options)
Anda bisa mengontrol detail informasi yang ditampilkan dengan mengirimkan objek kedua sebagai konfigurasi.
const tanggal = new Date(); const opsi = { weekday: 'long', // 'long' (Kamis), 'short' (Kam), 'narrow' (K) year: 'numeric', // 'numeric' (2026), '2-digit' (26) month: 'long', // 'long' (Mei), 'short' (Mei), 'numeric' (5) day: 'numeric', // 'numeric' (14), '2-digit' (14) hour: '2-digit', minute: '2-digit', timeZoneName: 'short'
}; const formatIndo = new Intl.DateTimeFormat('id-ID', opsi);
console.log(formatIndo.format(tanggal));
// Output: Kamis, 14 Mei 2026 pukul 00.22 WIB
4. Perbandingan Berbagai Lokasi (Locale)
Lihat betapa mudahnya mengubah format untuk audiens global tanpa mengubah logika kode:
const tgl = new Date(); // Format Amerika Serikat (MM/DD/YYYY)
console.log(new Intl.DateTimeFormat('en-US').format(tgl)); // Output: 5/14/2026 // Format Inggris (DD/MM/YYYY)
console.log(new Intl.DateTimeFormat('en-GB').format(tgl)); // Output: 14/05/2026 // Format Arab (Saudi Arabia)
console.log(new Intl.DateTimeFormat('ar-SA').format(tgl)); // Output: ٢٧/١١/١٤٤٧ (Hijriah secara otomatis!)
5. Method Singkat: toLocaleDateString()
Jika Anda merasa new Intl.DateTimeFormat terlalu panjang untuk ditulis, Anda bisa menggunakan method bawaan objek Date yang menggunakan mesin yang sama di belakang layar:
const hariIni = new Date(); const hasil = hariIni.toLocaleDateString('id-ID', { day: '2-digit', month: 'short', year: 'numeric'
}); console.log(hasil); // Output: 14 Mei 2026
Kesimpulan
| Bagian | Fungsi |
Locale (id-ID, en-US) |
Menentukan bahasa dan aturan regional. |
| weekday/month | Mengubah angka menjadi teks (misal: 4 menjadi "Mei"). |
| timeZone | Mengatur waktu berdasarkan zona tertentu (misal: 'Asia/Jakarta'). |
Menggunakan Intl.DateTimeFormat adalah cara terbaik untuk memastikan aplikasi Anda terlihat profesional dan ramah bagi pengguna dari berbagai belahan dunia.