Perintah date Linux: tampilkan tanggal, format, dan UTC

Perintah date menampilkan tanggal dan waktu saat ini, serta dapat memilih format keluaran untuk log atau skrip. Gunakan +FORMAT untuk memilih bidang dan -u untuk menampilkan waktu dalam UTC, tanpa mengubah jam sistem.

Keluaran bawaan mengikuti zona waktu dan locale, yaitu pengaturan bahasa serta format wilayah. Mengubah cara waktu ditampilkan berbeda dari menyetel jam sistem; kemampuan penyetelan waktu harus diperlakukan sebagai operasi administrasi tersendiri.

Sintaks dan implementasi

date [OPSI] [+FORMAT]

OPSI dan FORMAT adalah penanda yang diganti nilai sebenarnya. Tanda tambah menandai format keluaran. Panduan ini membahas GNU date; periksa date --version, date --help, atau man date pada lingkungan tujuan karena opsi GNU tidak selalu sama dengan implementasi BSD atau BusyBox.

Perintah tampilan dalam panduan ini tidak membutuhkan sudo. Jangan menghapus tanda tambah atau menambahkan -s ketika maksudnya hanya mengubah format: GNU date juga mempunyai bentuk argumen untuk menyetel waktu.

Tampilkan tanggal dan waktu sekarang

date

Hasilnya adalah waktu ketika perintah dijalankan, dengan format bawaan lingkungan. Nama hari atau bulan dapat berbeda menurut locale, sedangkan jam dan tanggal yang terlihat mengikuti zona waktu. Dua server dapat menampilkan tanggal berbeda untuk saat yang sama jika zona waktunya berbeda.

Untuk pemeriksaan manual, baca juga penanda zona pada hasil. Untuk skrip, pilih format tertentu daripada mengambil kolom dengan posisi kata tetap dari keluaran bawaan. Nama bulan dan spasi di keluaran bawaan tidak selalu konsisten antarlingkungan.

Buat tanggal dalam format tahun-bulan-hari

date +%Y-%m-%d

Format ini menghasilkan susunan seperti 2026-09-28 untuk tanggal contoh tersebut. Nilai aktual mengikuti tanggal saat perintah berjalan. %Y adalah tahun, %m adalah bulan dua digit, dan %d adalah tanggal dua digit; perhatikan bahwa %M dengan huruf besar berarti menit, bukan bulan.

Untuk nama berkas, format tanggal dapat dipakai sebagai bagian nama, tetapi satu tanggal bukan pengenal unik jika ada beberapa berkas pada hari yang sama. Tentukan juga zona waktu yang digunakan agar batas pergantian hari tidak membingungkan.

Tampilkan waktu UTC untuk membandingkan log

date -u +%Y-%m-%dT%H:%M:%SZ

UTC adalah Coordinated Universal Time atau waktu universal terkoordinasi. Opsi -u memilih UTC, T memisahkan tanggal dan jam, sedangkan Z pada format ini adalah karakter literal yang menandai UTC. Jangan menyalin format dengan akhiran Z lalu membuang -u: hasil lokal dapat keliru diberi label sebagai UTC.

Memakai UTC memudahkan pembacaan lintas zona, tetapi tidak membuktikan bahwa jam server sudah tersinkronisasi. Jika dua server melaporkan waktu berbeda, periksa sumber waktu dan layanan sinkronisasinya juga. Date menampilkan jam yang tersedia, bukan memperbaiki ketepatannya secara otomatis.

Pahami format, kutipan, dan nilai contoh

date -u '+%Y-%m-%d %H:%M UTC'

Karena format memuat spasi, bungkus seluruh argumen format dengan tanda kutip agar diterima sebagai satu argumen oleh shell. Perintah tersebut menampilkan waktu UTC hingga menit. Contoh keluaran berikut hanya ilustrasi format, bukan hasil yang harus muncul setiap kali dijalankan atau catatan bahwa jam sistem pernah disetel:

2026-09-28 00:00 UTC

%H memilih jam 24 jam, %M menit, dan %S detik. Kata UTC dalam format di atas adalah teks literal; opsi -u yang membuat nilainya benar-benar ditampilkan dalam UTC. Jika -u dihilangkan, pemilihan zona mengikuti lingkungan, sehingga label UTC juga harus disesuaikan.

Format yang tidak ambigu membantu skrip dan pembaca membedakan tanggal, jam, serta zona waktu. Makna penanda format dijelaskan dalam manual pemformatan waktu strftime; ketersediaan opsi dan perluasan khusus GNU date tetap perlu diperiksa pada manual perintahnya.

Opsi dan format penting

Opsi atau format Fungsi
+%Y-%m-%d Menampilkan tahun, bulan, dan tanggal.
+%H:%M:%S Menampilkan jam 24 jam, menit, dan detik.
-u Memilih UTC untuk operasi yang digunakan; dengan contoh tampilan di sini tidak mengubah jam.
-I Pada GNU date, menampilkan tanggal ISO 8601. Bentuk tanpa nilai tambahan ini tidak menyertakan jam.
-d STRING Pada GNU date, menafsirkan tanggal masukan untuk ditampilkan, bukan menyetel jam.

Sebagai pemeriksaan format yang dapat diulang, jalankan date -u -d '2026-09-28 00:00:00 UTC' '+%Y-%m-%d %H:%M UTC'. Pada GNU date yang mendukungnya, hasilnya sama dengan nilai ilustrasi di atas karena masukan ditetapkan secara eksplisit. Opsi -d membaca tanggal masukan, sedangkan -s menyetel jam; keduanya bukan opsi yang saling menggantikan.

Jika masukan tidak dapat ditafsirkan, periksa pesan kesalahan dan status keluar sebelum menggunakan hasil dalam skrip. Hindari masukan numerik yang ambigu antarwilayah. Rincian format serta opsi tersedia dalam manual GNU coreutils date.

Zona waktu dan kehati-hatian saat menyetel jam

Tanpa -u, variabel lingkungan TZ dapat menentukan zona untuk proses date. Jika TZ tidak ditetapkan, lingkungan Linux umumnya memakai konfigurasi zona sistem. Pemilihan melalui TZ mengubah penafsiran atau tampilan waktu proses, bukan dengan sendirinya mengubah jam sistem. Aturan TZ pada Linux dijelaskan dalam manual lingkungan zona waktu tzset.

Jika TZ tidak dikenali, jangan menganggap hasilnya pasti zona lokal yang Anda inginkan. Periksa pengaturan dan data zona waktu yang tersedia. Bedakan pula pengaturan bahasa locale dari zona waktu: bahasa nama hari tidak menetapkan selisih waktu terhadap UTC.

Perintah seperti date -s mengubah jam dan dapat memengaruhi autentikasi, urutan log, serta tugas terjadwal. Sebelum melakukan administrasi waktu, periksa kondisi sinkronisasi dan kebijakan sistem. Untuk kebutuhan penamaan berkas atau melihat waktu UTC, gunakan operasi tampilan; tidak perlu menyetel jam.

FAQ

Zona waktu mana yang digunakan date?

Tanpa -u, hasil mengikuti lingkungan, termasuk TZ bila ditetapkan, atau konfigurasi zona sistem. Gunakan -u untuk keluaran UTC dan pastikan label zona di format sesuai dengan pilihan tersebut.

Apakah date -d mengganti tanggal komputer?

Pada GNU date, -d menafsirkan masukan untuk ditampilkan. Operasi penyetelan seperti -s memiliki dampak berbeda dan tidak diperlukan untuk menguji format tanggal.