modern Linux distributions have user-friendly programs to set the
timezone, often accesible through the program menus or right-clicking
the clock in a desktop environment such as KDE or GNOME. Failing that
it’s possible to manually change the system timezone in Linux in a few
It’s possible to change the system timezone in Linux in a few short steps.
in as root, check which timezone your machine is currently using by
executing `date`. You’ll see something like “Mon 17 Jan 2005 12:15:08
PM PST -0.461203 seconds”, PST in this case is the current timezone.
to the directory to /usr/share/zoneinfo, here you will find a list of
time zone regions. Choose the most appropriate region, if you live in
Canada or the US this directory is the “Americas” directory.
you wish, backup the previous timezone configuration by copying it to a
different location. Such as `mv /etc/localtime /etc/localtime-old`.
a symbolic link from the appropiate timezone to /etc/localtime.
Example: `ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime`.
you have the utility rdate, update the current system time by executing
`/usr/bin/rdate -s time.nist.gov`. (This step can be skip!)
6. Set the ZONE entry in the file /etc/sysconfig/clock file (e.g. “America/Los_Angeles”)
7. Set the hardware clock by executing: ` /sbin/hwclock –systohc`
some versions of RedHat Linux, Slackware, Gentoo, SuSE, Debian, Ubuntu,
and anything else that is “normal”, the command to display and change
the time is ‘date’, not ‘clock’
RedHat Linux there is a utility called “Setup” that allows one to
select the timezone from a list, but you must have installed the
· Some applications (such as PHP) have separate timezone settings from the system timezone.
some systems, /etc/localtime is actually a symlink to the appropriate
file under the /usr/share/zoneinfo directory (rather than a copy of
some systems, there is a system utility provided that will prompt for
the correct timezone and make the proper changes to the system
configuration. For example,Debianprovides the “tzsetup” utility.
Here is an example of changing the timezone: (Logged in as root)
In order to manually change the timezone, you can edit the /etc/sysconfig/clockfile and then make a new soft link to /etc/localtime. Here is an example of changing the timezone manually to “America/Denver”:
1. Select the appropriate time zone from the /usr/share/zoneinfo directory. Time zone names are relative to that directory. In this case, we will select “America/Denver”
2. Edit the /etc/sysconfig/clocktext file so that it looks like this:
Of course, this assumes that your hardware clock is running UTC time…
3. Delete the following file: /etc/localtime (backup it when you need it !)
4. Create a new soft link for /etc/localtime. Here is an example of step 3 and step 4:
# cd /etc
# ls -al localtime
lrwxrwxrwx 1 root root 39 Mar 28 07:00 localtime -> /usr/share/zoneinfo/America/Los_Angeles
# rm /etc/localtime
# ln -s /usr/share/zoneinfo/America/Denver /etc/localtime
# ls -al localtime
lrwxrwxrwx 1 root root 34 Mar 28 08:59 localtime -> /usr/share/zoneinfo/America/Denver
Fri Mar 28 09:00:04 MST 2003
1. 修改文件 /etc/sysconfig/clock内容：
2. rm /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
还有其他方法修改时区，不过是基于图形化界面的命令： tzselect 、 timeconfig