DokumenGambarMediaAlat PDF

Konverter Format Tanggal Online

Konversi antara sintaksis format tanggal: strftime, Moment.js, ICU, Go, PHP, Java.

YYYY-MM-DD HH:mm:ss
Reference table
ElementstrftimeMomentICUGo
4-digit year%YYYYYyyyy2006
2-digit year%yYYyy06
Month (01-12)%mMMMM01
Full month name%BMMMMMMMMJanuary
Abbreviated month name%bMMMMMMJan
Day of month (01-31)%dDDdd02
Day of month, no leading zero%eDd2
Hour 24h (00-23)%HHHHH15
Hour 12h (01-12)%Ihhhh03
Minute (00-59)%Mmmmm04
Second (00-59)%Sssss05
AM/PM%pAaPM
Timezone abbreviation%ZzzzzMST
Timezone offset%zZZZ-0700
Full weekday name%AddddEEEEMonday
Abbreviated weekday name%adddEEEMon
Day of year (001-366)%jDDDDD__2
Processed in your browser

Konverter format tanggal untuk pengembang

Semua bahasa

Mendukung strftime, Moment.js, Day.js, ICU, Go, PHP, Java, .NET, Ruby.

100% privat

Konversi terjadi di browser Anda. Tidak ada data yang dikirim ke server mana pun.

Pratinjau nyata

Lihat bagaimana tanggal akan dirender dengan format Anda di setiap bahasa.

Instan

Konversi real-time saat Anda mengetik. Tanpa daftar, tanpa menunggu.

Tiga langkah, tanpa kerumitan

1

Masukkan token format

Ketik format tanggal seperti %Y-%m-%d (strftime) atau YYYY-MM-DD (Moment.js). Alat ini mendeteksi dialek secara otomatis.

2

Konversi instan

Dapatkan format setara dalam semua dialek yang didukung: strftime, Moment.js, ICU, Go, PHP, Java, .NET.

3

Pratinjau dengan tanggal nyata

Lihat bagaimana tanggal saat ini akan terlihat dengan format tersebut di setiap bahasa.

Ada pertanyaan?

strftime (string format time) adalah fungsi dari pustaka standar C yang didefinisikan dalam standar C89/ANSI C. Ia memformat struktur tm (waktu) sebagai string teks menggunakan token seperti %Y (tahun 4 digit), %m (bulan), %d (hari), %H (jam 24 jam), %M (menit), %S (detik). Ini adalah asal dari hampir semua sistem pemformatan tanggal: Python, Ruby, PHP (date() menggunakan token berbeda tetapi strftime() menggunakan yang sama), bash, dan banyak lagi.

Moment.js mempopulerkan notasi yang berbeda: YYYY (tahun 4 digit), MM (bulan), DD (hari), HH (jam 24 jam), mm (menit), ss (detik). Perbedaan utama: huruf besar/kecil penting (MM adalah bulan, mm adalah menit). Notasi ini diadopsi oleh Day.js, date-fns, Luxon, dan sebagian besar pustaka JavaScript modern. Proposal JavaScript Temporal (TC39) menggunakan notasi ICU.

ICU (International Components for Unicode) mendefinisikan standar CLDR untuk format tanggal. Ia menggunakan token seperti yyyy (tahun), MM (bulan), dd (hari), HH (jam). Ini adalah sistem yang digunakan di Java (java.time.format.DateTimeFormatter), Swift (DateFormatter), Kotlin, Android, dan proposal JavaScript Temporal. Keunggulan ICU adalah ia juga menangani lokalisasi: pola yang sama menghasilkan format berbeda dalam bahasa Inggris dan bahasa lainnya secara otomatis.

Go (Golang) menggunakan tanggal referensi tertentu sebagai template: 2 Januari 2006 pukul 15:04:05 pada hari Senin (yang sesuai dengan urutan mudah diingat). Alih-alih token abstrak, Anda mendeskripsikan format dengan menunjukkan bagaimana tanggal spesifik itu akan terlihat: 2006-01-02 untuk tahun-bulan-hari, 15:04:05 untuk waktu penuh. Pendekatan ini unik dan lebih intuitif menurut penciptanya, meskipun membingungkan pada awalnya.

Tanggal ISO 8601: strftime: %Y-%m-%d, Moment.js: YYYY-MM-DD, Go: 2006-01-02, Java: yyyy-MM-dd. Datetime lengkap: strftime: %Y-%m-%dT%H:%M:%S, Moment.js: YYYY-MM-DDTHH:mm:ss, Go: 2006-01-02T15:04:05, Java: yyyy-MM-dd'T'HH:mm:ss. Format Eropa: strftime: %d/%m/%Y, Moment.js: DD/MM/YYYY, Go: 02/01/2006, Java: dd/MM/yyyy.

Sejarah pemformatan tanggal dalam pemrograman, ISO 8601, pemformatan sadar lokal, penanganan zona waktu

Standarisasi format tanggal dalam komputasi secara historis bermasalah. Fungsi strftime diperkenalkan dalam pustaka standar C (ANSI C, 1989) tetapi akarnya kembali ke sistem AT&T Unix dari 1970-an. Sebelum standardisasi, setiap sistem dan bahasa menggunakan notasi mereka sendiri, menyebabkan ketidakcocokan serius. Standar ISO 8601 (edisi pertama 1988, direvisi 2004 dan 2019) menetapkan YYYY-MM-DD sebagai format universal untuk pertukaran data, diadopsi oleh XML, JSON, HTTP (untuk tanggal cookie dan header), dan sebagian besar API modern.

Lokalisasi tanggal menambahkan lapisan kompleksitas lain. Urutan hari/bulan/tahun bervariasi menurut negara: DD/MM/YYYY di Eropa dan Amerika Latin, MM/DD/YYYY di Amerika Serikat (menyebabkan kebingungan yang sering: 01/02/2026 adalah 1 Februari di Eropa tetapi 2 Januari di AS). Sistem ICU/CLDR menangani perbedaan ini secara otomatis: fungsi format yang sama menghasilkan output berbeda sesuai bahasa yang dipilih tanpa pengembang harus mengelola perbedaannya secara manual.

Zona waktu adalah bagian paling kompleks dari penanganan tanggal dalam perangkat lunak. IANA Time Zone Database (juga disebut Olson Database atau tzdata) memelihara catatan historis dan terkini dari semua zona waktu di dunia, termasuk perubahan DST (Daylight Saving Time) historis. Banyak bug perangkat lunak terkenal terkait tanggal: bug Y2K (tahun 2000), bug Tahun 2038 dalam sistem Unix 32-bit (di mana timestamp Unix akan meluap pada 19 Januari 2038), dan error DST yang memengaruhi kalender dan sistem pemesanan dua kali setahun.