How to Set or Change the Time Zone in Linux

A time zone is a geographic region that has the same standard time. Typically the time zone is set during the installation of the operating system, but it can be easily changed later.
Using the correct time zone is essential for many system tasks and processes. For example, the cron daemon uses the system’s time zone for executing cron jobs. The time zone is also used for log timestamps. If you rely on scheduled tasks, see our guide on cron jobs .
This tutorial covers the steps necessary to set or change the time zone in Linux.
Quick Reference
For a printable quick reference, see the timedatectl cheatsheet .
| Task | Command |
|---|---|
| Show current time zone | timedatectl |
| List all time zones | timedatectl list-timezones |
| Set time zone | sudo timedatectl set-timezone America/New_York |
| Reset to UTC | sudo timedatectl set-timezone Etc/UTC |
| Enable NTP sync | sudo timedatectl set-ntp true |
| Set via symlink | sudo ln -sf /usr/share/zoneinfo/Zone/City /etc/localtime |
Most modern Linux distributions use systemd, which provides the timedatectl utility. If your system does not have timedatectl, use the symlink method shown later in the article.
Checking the Current Time Zone
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.
To view the current time zone, invoke the timedatectl command without any options or arguments:
timedatectl Local time: Mon 2026-01-19 10:30:44 UTC
Universal time: Mon 2026-01-19 10:30:44 UTC
RTC time: Mon 2026-01-19 10:30:44
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: noThe output above shows that the system’s time zone is set to UTC.
The system time zone is configured by symlinking the /etc/localtime file to a binary time zone’s identifier in the /usr/share/zoneinfo directory.
Another way to check the time zone is to view the path the symlink points to using the ls
command:
ls -l /etc/localtimelrwxrwxrwx 1 root root 27 Dec 3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTCOn Debian and Ubuntu systems, the /etc/timezone file contains the current time zone name:
cat /etc/timezoneThe RTC in local TZ line shows whether the hardware clock is stored in local time. On Linux servers, this is typically set to no (UTC).
Changing the Time Zone in Linux
Before changing the time zone, you will need to find out the long name of the time zone you want to use. The time zone naming convention usually uses a “Region/City” format.
To view all available time zones, use the timedatectl command or list the files in the /usr/share/zoneinfo directory:
timedatectl list-timezones...
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...To find a specific zone, you can filter the list:
timedatectl list-timezones | grep -i "Europe/Sofia"If you want an interactive prompt, run tzselect and then use the output with timedatectl.
Once you identify which time zone is accurate to your location, run the following command as root or sudo user:
sudo timedatectl set-timezone Region/CityFor example, to change the system’s time zone to America/New_York you would type:
sudo timedatectl set-timezone America/New_YorkTo reset the system to UTC:
sudo timedatectl set-timezone Etc/UTCTo verify the change, invoke the timedatectl command again:
timedatectl Local time: Mon 2026-01-19 05:55:09 EST
Universal time: Mon 2026-01-19 10:55:09 UTC
RTC time: Mon 2026-01-19 10:55:09
Time zone: America/New_York (EST, -0500)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: noRun timedatectl again to confirm the change took effect.
Syncing the System Clock (NTP)
If the system clock is not synchronized, enable NTP with:
sudo timedatectl set-ntp trueThen verify with:
timedatectlOn many distributions, systemd-timesyncd is used by default, while others use chronyd. The command above works either way.
Debian and Ubuntu Alternative: tzdata
On Debian and Ubuntu systems, you can also use the tzdata package to change the time zone:
sudo dpkg-reconfigure tzdataChanging the Time Zone by Creating a Symlink
If you are running an older Linux distribution
and the timedatectl utility is not present on your system, you can change the time zone by symlinking /etc/localtime to the time zone in the /usr/share/zoneinfo directory.
Remove the current symlink or file. Be careful with this step because it replaces the current time zone configuration:
sudo rm /etc/localtimeIdentify the time zone you want to configure and create a symlink :
sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtimeVerify it either by listing the /etc/localtime file or invoking the date
command:
dateThe output includes the time zone, in this example that is “EST”.
Tue Dec 3 14:10:54 EST 2019Conclusion
To change the time zone in Linux, use sudo timedatectl set-timezone followed by a “Region/City” name from timedatectl list-timezones. On older systems without systemd, use the symlink method shown above.
Tags
Linuxize Weekly Newsletter
A quick weekly roundup of new tutorials, news, and tips.
About the authors

Dejan Panovski
Dejan Panovski is the founder of Linuxize, an RHCSA-certified Linux system administrator and DevOps engineer based in Skopje, Macedonia. Author of 800+ Linux tutorials with 20+ years of experience turning complex Linux tasks into clear, reliable guides.
View author page