Technology Blog

How To Change Timezone on a CentOS 6 and 7



CentOS timezone config files and directories

  1. /usr/share/zoneinfo/ – The system timezone directory contains the files as per timezone name. For example, the file /usr/share/zoneinfo/America/New_York represents time zone for New York.
  2. /etc/localtime – It is a symlink to the file localtime or to the correct timezone file in the system located in /usr/share/zoneinfo/ directory.

How do I see the current time zone?

Type the date command or the ls command:
$ date
$ ls -l /etc/localtime

Sample outputs:

Fig.01: Finding current timezone on a CentOS Linux

Change the current timezone in CentOS 7

To find list of all available time zones, run:
# timedatectl list-timezones
##*** Grep possible Asian timezones ***##
# timedatectl list-timezones | grep Asia

Sample outputs:

 Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara Africa/Bamako Africa/Bangui Africa/Banjul .... .. America/Dawson America/Dawson_Creek America/Denver America/Detroit America/Dominica America/Edmonton America/Eirunepe America/El_Salvador America/Fortaleza America/Glace_Bay .... .. Pacific/Saipan Pacific/Tahiti Pacific/Tarawa Pacific/Tongatapu Pacific/Wake Pacific/Wallis

The syntax is as follows to set timezone and need to run as root user:

 # timedatectl set-timezone time_zone

In this example, set timezone to America/Chicago

 # timedatectl set-timezone America/Chicago

Verify new settings by typing the following two commands:
# date
# ls -l /etc/localtime

Sample outputs:

Fig.02: Change the currently used time zone

Change the current timezone in CentOS 6 and older

Type the following commands as root:

   cp /etc/localtime /root/old.timezone rm /etc/localtime ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime

Verify new settings by typing the following two commands:

   date ls -l /etc/localtime