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.

Most modern Linux distributions use systemd, which provides the timedatectl utility. If your system doesn’t 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:

Terminaltimedatectloutput 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: no

The 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:

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

On Debian and Ubuntu systems, the /etc/timezone file contains the current time zone name:

Terminalcat /etc/timezone

The 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’ll 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:

Terminaltimedatectl list-timezonesoutput... America/Montserrat America/Nassau America/New_York America/Nipigon America/Nome America/Noronha ...

To find a specific zone, you can filter the list:

Terminaltimedatectl list-timezones | rg -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:

Terminalsudo timedatectl set-timezone <your_time_zone>

For example, to change the system’s time zone to America/New_York you would type:

Terminalsudo timedatectl set-timezone America/New_York

To reset the system to UTC:

Terminalsudo timedatectl set-timezone Etc/UTC

To verify the change, invoke the timedatectl command again:

Terminaltimedatectloutput 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: no

Mission accomplished! You’ve successfully changed your system’s time zone.

Syncing the System Clock (NTP) #

If the system clock isn’t synchronized, enable NTP with:

Terminalsudo timedatectl set-ntp true

Then verify with:

Terminaltimedatectl

On 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:

Terminalsudo dpkg-reconfigure tzdata

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:

Terminalsudo rm -rf /etc/localtime

Identify the time zone you want to configure and create a symlink :

Terminalsudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

Verify it either by listing the /etc/localtime file or invoking the date command:

Terminaldate

The output includes the time zone, in this example that is “EST”.

outputTue Dec 3 14:10:54 EST 2019

Conclusion #

To change the time zone in Linux systems use the sudo timedatectl set-timezone command followed by the long name of the time zone you want to set.

Feel free to leave a comment if you have any questions.

Tags

linux commands

Linuxize Weekly Newsletter

A quick weekly roundup of new tutorials, news, and tips.

Subscribe

Unsubscribe anytime. We respect your inbox.

About the authors

Dejan Panovski

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

Tag » How To Set Timezone In Linux