How to change date, time, timezone on centos 6

When I was tweaking one of my linux server, I found out that the time of my server isn’t match with my local time. It’s hard to read logs with different time zone from your server, so I decided to change the timezone of my server to the my current timezone. I believe it was set with EST time. It would be easier for me to manage my server if it has the same time and date. I will show you how to change date and time on centos 6 operating system in this article. This article will properly work with other Linux distributions like Ubuntu, Linux Mint, Fedora or Redhat since the way Linux date, time, and timezone work all the same in Linux server.

There are a few different way to change date, time, and timezone on centos 6 via the command line terminal. Linux system normally keep their timezone in /etc/localtime. To check or show the current date, and time of your Linux system, you can use date command. Date command can print, or set date and time of your linux system.

Display Date and Time in Linux

# date

and its output

Sat Mar 15 03:14:29 PDT 2014

Change Timezone in Linux

Fist, we are going to get a list of timezone that came with Linux.

# cd /usr/share/zoneinfo/ # ls
Africa      Canada   GB         Indian     Mexico    ROK
America     Chile    GB-Eire    Iran       NZ        Singapore  posix
Antarctica  Cuba     GMT        Israel     NZ-CHAT   Turkey     posixrules
Arctic      EET      GMT+0      Jamaica    Navajo    UCT        right
Asia        EST      GMT-0      Japan      PRC       US
Atlantic    EST5EDT  GMT0       Kwajalein  PST8PDT   UTC
Australia   Egypt    Greenwich  Libya      Pacific   Universal
Brazil      Eire     HST        MET        Poland    W-SU
CET         Etc      Hongkong   MST        Portugal  WET
CST6CDT     Europe   Iceland    MST7MDT    ROC       Zulu

There are countries, or continent with different timezone, for example when you list all file and directories in zoneinfo directory as I did above, there are timezone for countries with only one timezone, and directories for countries and continent with several timezones. For example my timezone is America Pacific, I will need to go to America directory to get my timezone.

# cd /usr/share/zoneinfo/America/
# ls
Adak            Coral_Harbour  Hermosillo     Moncton         Santarem
Anchorage       Cordoba        Indiana        Monterrey       Santiago
Anguilla        Costa_Rica     Indianapolis   Montevideo      Santo_Domingo
Antigua         Creston        Inuvik         Montreal        Sao_Paulo
Araguaina       Cuiaba         Iqaluit        Montserrat      Scoresbysund
Argentina       Curacao        Jamaica        Nassau          Shiprock
Aruba           Danmarkshavn   Jujuy          New_York        Sitka
Asuncion        Dawson         Juneau         Nipigon         St_Barthelemy
Atikokan        Dawson_Creek   Kentucky       Nome            St_Johns
Atka            Denver         Knox_IN        Noronha         St_Kitts
Bahia           Detroit        Kralendijk     North_Dakota    St_Lucia
Bahia_Banderas  Dominica       La_Paz         Ojinaga         St_Thomas
Barbados        Edmonton       Lima           Panama          St_Vincent
Belem           Eirunepe       Los_Angeles    Pangnirtung     Swift_Current
Belize          El_Salvador    Louisville     Paramaribo      Tegucigalpa
Blanc-Sablon    Ensenada       Lower_Princes  Phoenix         Thule
Boa_Vista       Fort_Wayne     Maceio         Port-au-Prince  Thunder_Bay
Bogota          Fortaleza      Managua        Port_of_Spain   Tijuana
Boise           Glace_Bay      Manaus         Porto_Acre      Toronto
Buenos_Aires    Godthab        Marigot        Porto_Velho     Tortola
Cambridge_Bay   Goose_Bay      Martinique     Puerto_Rico     Vancouver
Campo_Grande    Grand_Turk     Matamoros      Rainy_River     Virgin
Cancun          Grenada        Mazatlan       Rankin_Inlet    Whitehorse
Caracas         Guadeloupe     Mendoza        Recife          Winnipeg
Catamarca       Guatemala      Menominee      Regina          Yakutat
Cayenne         Guayaquil      Merida         Resolute        Yellowknife
Cayman          Guyana         Metlakatla     Rio_Branco
Chicago         Halifax        Mexico_City    Rosario
Chihuahua       Havana         Miquelon       Santa_Isabel

I will use Toronto for Pacific time, so I will need to copy/set Toronto file as my localtime on my server (this will work with any linux system I believe).

# cp /usr/share/zoneinfo/America/Toronto /etc/localtime

Change Date and Time in Linux

Now your Linux system should have the timezone that you want. If the date or time is not correct, you can set date and time with date command.

# date date MMDDhhmmYYYY
  • MM: two digit month number
  • DD: two digit date
  • hh: two digit hour (24 hour system)
  • mm: two digit minute
  • YYYY: four digit of year

You can also sync your system time and date with ntp (Network Time Protocol) over a network or internet. Normally ntp should be installed to your Linux system as default, in case your system does not have ntp, you can easily install ntp package with a simple command.

To install ntp on Ubuntu, Linux or debian based distribitions

# apt-get update && apt-get install ntp

To install ntp on Fedora, Centos or redhat based distribitions

# yum install ntp

After you set your timezone correcly, you should be able to synce your date and time with ntp command

# ntpdate

Note: if you have a VPS (virtual private server) and not a real dedicated server, you will properl won’t be able to adjust time on your VPS. When ou are on VPS, you do not have the right to modify or update time and date, only the VPS owner or provider have the rights to adjust time and date on that VPS node.

You will properly get one of this error if you are on a VPS.

  • Can’t adjust the time of day: Operation not permitted
  • rdate: could not set system time: Operation not permitted
  • ntpdate: Can’t adjust the time of day: Operation not permitted
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments