Not all systems are synchronized to the time zone that you live in. In fact, if you rent a server like I do, it may be in an entirely different country.

CentOS has several commands concerning timezones. I don’t find some of them to be overly intuitive and figured that I would outline some easy-use recipes here:

1. Finding your system-wide timezone

The best documented way I’ve found to do this is with the following commands:

/usr/sbin/zdump /etc/localtime

You will get output like the following:

/etc/localtime  Sat Jul  5 16:42:53 2008 PDT

Which shows us that the local system-wide time zone for the server itself is “Pacific Daylight Time”.

Because we can set the time zone for our account; using the date command reveals the current time, but the wrong time zone:

# date
Sat Jul  5 19:42:53 EDT 2008

2. Setting your system-wide time zone

Setting the system-wide time zone can be achieved two ways.

One, you can copy the time zone file from /usr/share/zoneinfo to /etc/localtime.

Two, you can run the system-config-date program and choose the timezone tab. This is by far, the easiest way.

3. Setting your account time zone

Setting the account time zone is achieved by setting the TZ variable to the appropriate variable.
In Bourne Shell or BASH:

export TZ="EST5EDT"

In C-Shell or TCSH:

setenv TZ "EST5EDT"

To find out what the variable should be set to, look for the appropriate file name in /usr/share/zoneinfo or you can run the tzselect command.

4. Finding your account time zone

As noted before, running the date command shows the time zone for your environment: