Linux查看设置系统时区
2019-04-11 15:50阅读:
Linux系统如何查看设置所在的时区呢?
1:使用date令查看时区
[root@db-server ~]# date
-R
Sun, 11 Jan 2015 07:10:28 -0800
[root@db-server ~]#
如上RFC 2822
format所示,上面命令输出了-0800表示西八区,是美国旧金山所在的时区,下面表示我们国家的东八区(+0800)
[root@lnx01 ~]# date
-R
Sun, 11 Jan 2015 23:06:02 +0800
2:查看clock系统配置文件
[root@db-server ~]# more
/etc/sysconfig/clock
ZONE='America/Los_Angeles'
UTC=true
ARC=false
如上所示,表示该系统设置的时区为“America/Los_Angeles”,也就是西八区。
STRONG>
方法1:使用tzselect设置时区
例子,将系统时区设置为东八区(北京时间)
[root@db-server ~]
#
tzselect
Please identify a location so that time zone rules can be set
correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ
format.
#? 5
Please select a country.
1) Afghanistan
18) Israel
35) Palestine
2) Armenia
19) Japan
36)
Philippines
3) Azerbaijan
20) Jordan
37) Qatar
4) Bahrain
21)
Kazakhstan
38) Russia
5) Bangladesh
22) Korea (North)
39) Saudi
Arabia
6) Bhutan
23)
Korea (South)
40) Singapore
7) Brunei
24)
Kuwait
41)
Sri Lanka
8) Cambodia
25) Kyrgyzstan
42) Syria
9) China
26) Laos
43) Taiwan
10) Cyprus
27)
Lebanon
44)
Tajikistan
11) East Timor
28) Macau
45) Thailand
12) Georgia
29)
Malaysia
46)
Turkmenistan
13) Hong Kong
30) Mongolia
47) United Arab
Emirates
14) India
31) Myanmar (Burma)
48) Uzbekistan
15) Indonesia
32) Nepal
49)
Vietnam
16) Iran
33) Oman
50) Yemen
17) Iraq
34) Pakistan
#? 9
Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou,
etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang
#? 1
The following information has been given:
China
east China
- Beijing, Guangdong, Shanghai, etc.
Therefore TZ=
'Asia/Shanghai' will be used.
Local time is now:
Sun Jan
11 23:31:51 CST 2015.
Universal Time is now:
Sun Jan 11 15:31:51 UTC 2015.
Is the above information OK?
1) Yes
2) No
#? yes
Please enter 1
for
Yes, or 2
for
No.
#? 1
You can make this change permanent
for yourself by appending the
line
TZ=
'Asia/Shanghai';
export TZ
to the file
'.profile'
in your home
directory; then log out and log
in again.
Here is that TZ value again, this time on standard output so that
you
can use the /usr/bin/tzselect command
in shell scripts:
Asia/Shanghai
注意:tzselect命令只告诉你选择的时区的写法,并不会生效。所以现在它还不是东8区北京时间。你可以在.profile、.bash_profile或者/etc/profile中设置正确的TZ环境变量并导出。
例如在.bash_profile里面设置 TZ='Asia/Shanghai'; export
TZ并使其生效。
[root@db-server ~]
# source
.bash_profile
[root@db-server ~]
#
date
Sun Jan 11 23:37:40 CST 2015
方法2:复制相应的时区文件,替换系统时区文件;或者创建链接文件
在/usr/share/zoneinfo/下面有很多时区文件,如下所示,可以复制这些时区文件覆盖/etc/localtime文件,或修改符号链接/etc/locatime对应的文件

[root@db-server ~]
# date
-R
Mon, 12 Jan 2015 10:42:26 +0800
[root@db-server ~]
# cp
/usr/share/zoneinfo/America/Los_Angeles
/etc/localtime
cp: overwrite `/etc/localtime'? y
[root@db-server ~]
# date
-R
Sun, 11 Jan 2015 18:42:49 -0800
[root@db-server ~]#
注意如果有时候,执行了上面命令后,使用date
-R发现时区设置没有生效,有可能是因为你在profile或.bash_profile里面设置了TZ,如下案例所示:
[root@db-server ~]
# date
-R
Sun, 11 Jan 2015 18:42:49 -0800
[root@db-server ~]
# vi
.bash_profile
# .bash_profile
# Get the aliases and
functions
if [ -f ~/.bashrc ];
then
.
~/.bashrc
fi
# User specific environment and
startup programs
PATH=$PATH:$HOME/bin
TZ=
'Asia/Shanghai';
export TZ
export PATH
unset USERNAME
'.bash_profile' 14L,
221C written
[root@db-server ~]
# source
.bash_profile
[root@db-server ~]
# date
-R
Mon, 12 Jan 2015 10:44:35 +0800
方式2:修改链接/etc/locatime的时区文件
[root@db-server ~]# ln /usr/share/zoneinfo/Asia/Shanghai
/etc/localtime
ln: creating hard link `/etc/localtime' to
`/usr/share/zoneinfo/Asia/Shanghai': File exists
[root@db-server ~]# rm /etc/localtime
rm: remove regular file `/etc/localtime'? y
[root@db-server ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai
/etc/localtime
[root@db-server ~]# date -R
Mon, 12 Jan 2015 10:56:10 +0800
[root@db-server ~]#
方法3:使用timeconfig设置时区
timeconfig命令仅限于RedHat Linux 和 CentOS。
参 数:
--arc 使用Alpha硬件结构的格式存储系统时间。
--back 在互动式界面里,显示Back钮而非Cancel钮。
--test 仅作测试,并不真的改变系统的时区。
--utc 把硬件时钟上的时间视为CUT,有时也称为UTC或UCT。
感觉这个timeconfig命令在命令界面使用起来并不好用。给人的感觉非常别扭。用户体验非常糟糕。如下所示,看起来也很糟糕。
[root@db-server ~]# timeconfig --utc
'Asia/Shanghai'
方法4:使用dpkg-reconfigure
tzdata设置时区
这个仅仅适用于Debian,手头没有环境,没有实验过,在此不作过多阐述。