Time zone (Zona waktu) adalah wilayah geografis yang memiliki waktu standar yang sama. Biasanya zona waktu diatur selama instalasi sistem operasional, tetapi dapat dengan mudah diubah di sesuai keinginan kita.

Menggunakan zona waktu yang benar sangat penting untuk banyak tugas dan proses yang terkait dengan sistem. Sebagai contoh, kita berada di Indonesia yang memiliki server di US misal, dan kita ingin melakukan cron jobs di jam 1 – hingga 4 dini hari. Tentu kita tidak perlu melakukan kalkulasi mengubah dari UTC ke WIB.

Pada tutorial ini kita akan membahas langkah-langkah yang diperlukan untuk mengatur atau mengubah zona waktu di Linux.

Memeriksa Zona Waktu Saat Ini

timedatectl adalah utilitas baris perintah yang memungkinkan Anda untuk melihat dan mengubah waktu dan tanggal sistem. Perintah timedatectl  tersedia di semua sistem Linux berbasis sistem modern.

Untuk melihat zona waktu saat ini, aktifkan perintah timedatectl tanpa opsi atau argumen apa pun:

timedatectl
                      Local time: Tue 2019-12-03 16:30:44 UTC
                  Universal time: Tue 2019-12-03 16:30:44 UTC
                        RTC time: Tue 2019-12-03 16:30:44
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Seperti yang ditunjukkan oleh output di atas, zona waktu sistem diatur ke UTC:

Zona waktu sistem dikonfigurasikan dengan menghubungkan /etc/localtime ke pengidentifikasi zona waktu biner di direktori /usr/share/zoneinfo.

Jadi, opsi lain untuk memeriksa zona waktu adalah dengan memeriksa jalur symlink dengan menggunakan perintah ls:

ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec  3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

Mengubah Zona Waktu di Linux

Sebelum mengubah zona waktu, Anda harus mencari tahu nama panjang untuk zona waktu yang ingin Anda gunakan. Konvensi penamaan zona waktu biasanya menggunakan format “Wilayah/Kota”.

Untuk membuat daftar semua zona waktu yang tersedia, Anda dapat menggunakan perintah timedatectl atau membuat list file di direktori /usr/share/zoneinfo

timedatectl list-timezones
...
Asia/Hong_Kong
Asia/Hovd
Asia/Irkutsk
Asia/Jakarta
Asia/Jayapura
Asia/Jerusalem
Asia/Kabul
Asia/Kamchatka
Asia/Karachi
Asia/Kathmandu
...

Setelah Anda mengidentifikasi zona waktu mana yang akurat untuk lokasi Anda, jalankan perintah berikut sebagai pengguna sudo:

sudo timedatectl set-timezone <timezone>

Misalnya, untuk mengubah zona waktu sistem ke waktu lokal Jakarta:

sudo timedatectl set-timezone Asia/Jakarta

Jalankan perintah timedatectl untuk memverifikasi perubahan:

timedatectl
                      Local time: Tue 2019-12-03 13:55:09 WIB
                  Universal time: Tue 2019-12-03 18:55:09 UTC
                        RTC time: Tue 2019-12-03 18:02:16
                       Time zone: Asia/Jakarta (WIB, +0700)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Dengan begini, Anda telah berhasil mengubah zona waktu sistem Anda.

Mengubah Zona Waktu dengan Membuat Symlink

Jika Anda menjalankan distribusi Linux yang lebih lama dan utilitas timedatectl tidak ada di sistem Anda, Anda dapat mengubah zona waktu dengan menghubungkan /etc/localtime ke zona waktu di direktori /usr/share/zoneinfo

Hapus symlink atau file saat ini:

sudo rm -rf /etc/localtime

Identifikasi zona waktu yang ingin Anda konfigurasi dan buat symlink:

sudo ln -s /usr/share/zoneinfo/Asia/Jakarta /etc/localtime

Verifikasi baik dengan listing file /etc/localtime atau menjalankan perintah date :

date

Kesimpulan

Untuk mengubah zona waktu di sistem Linux gunakan perintah sudo timedatectl set-timezone diikuti dengan nama panjang zona waktu yang ingin Anda atur.