Using the correct timezone is essential for many systems related tasks and processes. For example, the cron daemon uses the system’s timezone for executing cron jobs, and the timestamps in the log files are based on the same system’s timezone.
On Ubuntu, the system’s timezone is set during the install, but it can be easily changed at a later time.
This article describes how to set or change the timezone on Ubuntu 20.04 using the command line, or through the GUI.
Only the root or user with sudo privileges can set or change the system’s timezone.
timedatectl
is a command-line utility that allows you to view and change the system’s time and date. It is available on all modern systemd-based Linux systems, including Ubuntu 20.04.
To print the current system’s timezone invoke the timedatectl
without any arguments:
timedatectl
The output below shows that the system’s timezone is set to “UTC”:
Local time: Wed 2020-05-06 19:33:20 UTC
Universal time: Wed 2020-05-06 19:33:20 UTC
RTC time: Wed 2020-05-06 19:33:22
Time zone: UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
The system timezone is configured by symlinking /etc/localtime
to a binary timezone identifier in the /usr/share/zoneinfo
directory.
Another option to view the current system’s timezone is find the file to which the symlink points to:
ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 10 12:59 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
The system’s timezone in also written to the /etc/timezone
file:
cat /etc/timezone
UTC
timedatectl
CommandBefore changing the timezone, you’ll need to find out the long name for the timezone you want to use. The timezones are using “Region/City” format.
To list all available time zones, you can either list the files in the /usr/share/zoneinfo
directory or invoke the timedatectl
command with the list-timezones
option:
timedatectl list-timezones
...
America/Montevideo
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...
Once you identify which time zone is accurate to your location, run the following command as sudo user:
sudo timedatectl set-timezone your_time_zone
For instance, to change the system’s timezone to Europe/Kyiv
:
sudo timedatectl set-timezone Europe/Kyiv
Invoke the timedatectl
command to verify the changes:
timedatectl
Local time: Wed 2022-11-16 15:56:09 EET
Universal time: Wed 2022-11-16 13:56:09 UTC
RTC time: Wed 2022-11-16 13:56:09
Time zone: Europe/Kyiv (EET, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no