How to Change the Timezone in Linux

This article will explain how to change the time zone on your Linux system. It might seem like a small detail, but it’s crucial for keeping your computer’s clock accurate. We’ll help you check your current time zone and show you how to switch to a different one if needed.

Why Accurate Time Zone is Important? 

Having the right time zone ensures that the time displayed on your computer is accurate. This accuracy is not merely a matter of convenience; it’s critical for many daily tasks.

For instance, for your files and documents. This ensures an accurate record of when files were created, modified, or accessed. It’s essential for tracking changes in documents and maintaining version histories. It might be helpful even in legal contexts when you need to prove when something was done.

Time zone accuracy also extends to digital security. If your system’s clock is out of sync with the actual time, it can lead to issues with encryption. Security protocols rely on precise time settings to function correctly.

Looking at the bigger picture, using the correct time zone is also about staying in tune with the world. This becomes especially crucial when collaborating with international teams. For example, if your company uses an employee monitoring tool like Traqq, you need your time zone to display accurately. This ensures that the data collected regarding your working hours, productivity, and performance is reliable, and your colleagues know when to connect with you.

Moreover, many online services and applications depend on accurate time zone information. Whether it’s checking the news, the weather, or global events, having the correct time zone means the info you get fits your location.

Checking the Current Time Zone

To check the current time zone settings on your Linux system, you can use various methods. Here are a few common ways:

1. Using the timedatectl command

Open your terminal. You can usually find it in your applications menu or by pressing Ctrl+Alt+T. Enter the following command –

timedatectl

You will see an output similar to this one –

Local time: Wed 2023-10-25 14:30:00 UTC
           Universal time: Wed 2023-10-25 14:30:00 UTC
                 RTC time: Wed 2023-10-25 14:30:00
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

The output shows that the time zone is set to “Etc/UTC,” which means the system is using Coordinated Universal Time (UTC).

You can inspect the symbolic link /etc/localtime, which points to the current time zone file. To check its destination, use the ls command –

ls -l /etc/localtime

You will see an output that looks like this –

lrwxrwxrwx 1 root root 36 Oct  3 17:16 /etc/localtime -> /usr/share/zoneinfo/America/New_York

In this example, “America/New_York” indicates the current time zone setting.

3. Reading the /etc/timezone file (Debian/Ubuntu)

Some Debian-based systems keep their time zone information in the /etc/timezone file. You can use the cat command to view its content –

cat /etc/timezone

You will see an output that displays the name of your current time zone. It will typically look like this: America/New_York

Changing the Time Zone

Let’s discuss the ways to change the time zone in Linux. 

Changing the Time Zone by Using timedatectl Command

To change the time zone in Linux, you can typically use the timedatectl command. This feature is present in most modern Linux distributions. Here’s a step-by-step guide –

1. Open your terminal.

2. Use the timedatectl set-timezone command followed by your time zone. For example, if you want to change the time zone to “America/New_York,” enter the command –

timedatectl set-timezone America/New_York

3. After running the command, your time zone will be updated. You should see a message indicating the change.

4. To verify the new time zone, you can once again use the timedatectl command.

Remember to use the appropriate time zone identifier (e.g., “America/New_York,” “Europe/London,” etc.) when setting your time zone. You can enter timedatectl list-timezones to view the available time zones.

Let’s explore another method to change the time zone in Linux. This approach might be helpful if you don’t have the timedatectl command. To modify the time zone, you can create a symbolic link from the /etc/localtime directory to a time zone listed in the /usr/share/zoneinfo directory.

1. Remove the old symlink to /etc/localtime –

sudo rm -rf /etc/localtime

This command will delete the current symlink, and we can create a new one.

2. Identify the time zone you want to use. This should be a time zone listed in the /usr/share/zoneinfo directory. 

3. Using the ln command, create a new symlink from your chosen time zone file to /etc/localtime –

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

Replace “America/New_York” with your time zone.

4. To ensure the time zone change worked, use the date command. It should display the time and date in the new time zone. Here’s an example of what the output might look like –

Tue Oct 25 18:30:00 EDT 2022 

In this example, the time zone is now set to Eastern Daylight Time (EDT), matching the “America/New_York” time zone we selected.

Conclusion

Setting your Linux system’s time zone right helps you work better, stay connected, and keep an accurate record of things in the digital world. It’s a small change that can make a big improvement in your everyday computer use.