Linux查看设置系统时区
2017-04-01 13:55
274 查看
关于时区的概念,其实初中地理课已经涉及,很多人都多少了解一些,可能只是细节搞不太清楚。为什么会将地球分为不同时区呢?因为地球总是自西向东自转,东边总比西边先看到太阳,东边的时间也总比西边的早。东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒来计算。整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,UniversalTimeCoordinated)。UTC与格林尼治平均时(GMT,
GreenwichMeanTime)一样,都与英国伦敦的本地时相同。
关于时间的几个标准,如下所示,具体可以Google、Baidu搜索一下。
CST:中国标准时间(ChinaStandardTime),这个解释可能是针对RedHatLinux。
UTC:协调世界时,又称世界标准时间,简称UTC,从英文国际时间/法文协调时间”UniversalTime/TempsCordonné”而来。中国大陆、香港、澳门、台湾、蒙古国、新加坡、马来西亚、菲律宾、澳洲西部的时间与UTC的时差均为+8,也就是UTC+8。
GMT:格林尼治标准时间(旧译格林威治平均时间或格林威治标准时间;英语:GreenwichMeanTime,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
关于时区分布图,大家可以参考http://www.timedate.cn/time/timezone.htm,我们国家跨越了东五区、东六区、东七区、东八区、东九区五个时区,一般都统一采用东八区计时时间。
Linux系统如何查看设置所在的时区呢?
1:使用date命令查看时区
如上RFC2822format所示,上面命令输出了-0800表示西八区,是美国旧金山所在的时区,下面表示我们国家的东八区(+0800)
2:查看clock系统配置文件
如上所示,表示该系统设置的时区为“America/Los_Angeles”,也就是西八区。
Linux系统如何设置系统所在的时区呢?
方法1:使用tzselect设置时区
例子,将系统时区设置为东八区(北京时间)
注意:tzselect命令只告诉你选择的时区的写法,并不会生效。所以现在它还不是东8区北京时间。你可以在.profile、.bash_profile或者/etc/profile中设置正确的TZ环境变量并导出。例如在.bash_profile里面设置TZ='Asia/Shanghai';exportTZ并使其生效。
方法2:复制相应的时区文件,替换系统时区文件;或者创建链接文件
在/usr/share/zoneinfo/下面有很多时区文件,如下所示,可以复制这些时区文件覆盖/etc/localtime文件,或修改符号链接/etc/locatime对应的文件
注意如果有时候,执行了上面命令后,使用date-R发现时区设置没有生效,有可能是因为你在profile或.bash_profile里面设置了TZ,如下案例所示:
方式2:修改链接/etc/locatime的时区文件
[root@db-server~]#ln/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
ln:creatinghardlink`/etc/localtime'to`/usr/share/zoneinfo/Asia/Shanghai':Fileexists
[root@db-server~]#rm/etc/localtime
rm:removeregularfile`/etc/localtime'?y
[root@db-server~]#ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
[root@db-server~]#date-R
Mon,12Jan201510:56:10+0800
[root@db-server~]#
方法3:使用timeconfig设置时区
timeconfig命令仅限于RedHatLinux和CentOS。
参 数:
--arc 使用Alpha硬件结构的格式存储系统时间。
--back 在互动式界面里,显示Back钮而非Cancel钮。
--test 仅作测试,并不真的改变系统的时区。
--utc 把硬件时钟上的时间视为CUT,有时也称为UTC或UCT。
感觉这个timeconfig命令在命令界面使用起来并不好用。给人的感觉非常别扭。用户体验非常糟糕。如下所示,看起来也很糟糕。
[root@db-server~]#timeconfig--utc"Asia/Shanghai"
方法4:使用dpkg-reconfiguretzdata设置时区
这个仅仅适用于Debian,手头没有环境,没有实验过,在此不作过多阐述。
GreenwichMeanTime)一样,都与英国伦敦的本地时相同。
关于时间的几个标准,如下所示,具体可以Google、Baidu搜索一下。
CST:中国标准时间(ChinaStandardTime),这个解释可能是针对RedHatLinux。
UTC:协调世界时,又称世界标准时间,简称UTC,从英文国际时间/法文协调时间”UniversalTime/TempsCordonné”而来。中国大陆、香港、澳门、台湾、蒙古国、新加坡、马来西亚、菲律宾、澳洲西部的时间与UTC的时差均为+8,也就是UTC+8。
GMT:格林尼治标准时间(旧译格林威治平均时间或格林威治标准时间;英语:GreenwichMeanTime,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
关于时区分布图,大家可以参考
Linux系统如何查看设置所在的时区呢?
1:使用date命令查看时区
[root@db-server~]#date-R
Sun,11Jan201507:10:28-0800
[root@db-server~]#
如上RFC2822format所示,上面命令输出了-0800表示西八区,是美国旧金山所在的时区,下面表示我们国家的东八区(+0800)
[root@lnx01~]#date-R
Sun,11Jan201523:06:02+0800
2:查看clock系统配置文件
[root@db-server~]#more/etc/sysconfig/clock
ZONE="America/Los_Angeles"
UTC=true
ARC=false
如上所示,表示该系统设置的时区为“America/Los_Angeles”,也就是西八区。
Linux系统如何设置系统所在的时区呢?
方法1:使用tzselect设置时区
例子,将系统时区设置为东八区(北京时间)
[root@db-server~]#tzselect
Pleaseidentifyalocationsothattimezonerulescanbesetcorrectly.
Pleaseselectacontinentorocean.
1)Africa
2)Americas
3)Antarctica
4)ArcticOcean
5)Asia
6)AtlanticOcean
7)Australia
8)Europe
9)IndianOcean
10)PacificOcean
11)none-IwanttospecifythetimezoneusingthePosixTZformat.
#?5
Pleaseselectacountry.
1)Afghanistan18)Israel35)Palestine
2)Armenia19)Japan36)Philippines
3)Azerbaijan20)Jordan37)Qatar
4)Bahrain21)Kazakhstan38)Russia
5)Bangladesh22)Korea(North)39)SaudiArabia
6)Bhutan23)Korea(South)40)Singapore
7)Brunei24)Kuwait41)SriLanka
8)Cambodia25)Kyrgyzstan42)Syria
9)China26)Laos43)Taiwan
10)Cyprus27)Lebanon44)Tajikistan
11)EastTimor28)Macau45)Thailand
12)Georgia29)Malaysia46)Turkmenistan
13)HongKong30)Mongolia47)UnitedArabEmirates
14)India31)Myanmar(Burma)48)Uzbekistan
15)Indonesia32)Nepal49)Vietnam
16)Iran33)Oman50)Yemen
17)Iraq34)Pakistan
#?9
Pleaseselectoneofthefollowingtimezoneregions.
1)eastChina-Beijing,Guangdong,Shanghai,etc.
2)Heilongjiang(exceptMohe),Jilin
3)centralChina-Sichuan,Yunnan,Guangxi,Shaanxi,Guizhou,etc.
4)mostofTibet&Xinjiang
5)westTibet&Xinjiang
#?1
Thefollowinginformationhasbeengiven:
China
eastChina-Beijing,Guangdong,Shanghai,etc.
ThereforeTZ='Asia/Shanghai'willbeused.
Localtimeisnow:SunJan1123:31:51CST2015.
UniversalTimeisnow:SunJan1115:31:51UTC2015.
IstheaboveinformationOK?
1)Yes
2)No
#?yes
Pleaseenter1forYes,or2forNo.
#?1
Youcanmakethischangepermanentforyourselfbyappendingtheline
TZ='Asia/Shanghai';exportTZ
tothefile'.profile'inyourhomedirectory;thenlogoutandloginagain.
HereisthatTZvalueagain,thistimeonstandardoutputsothatyou
canusethe/usr/bin/tzselectcommandinshellscripts:
Asia/Shanghai
注意:tzselect命令只告诉你选择的时区的写法,并不会生效。所以现在它还不是东8区北京时间。你可以在.profile、.bash_profile或者/etc/profile中设置正确的TZ环境变量并导出。例如在.bash_profile里面设置TZ='Asia/Shanghai';exportTZ并使其生效。
[root@db-server~]#source.bash_profile
[root@db-server~]#date
SunJan1123:37:40CST2015
方法2:复制相应的时区文件,替换系统时区文件;或者创建链接文件
在/usr/share/zoneinfo/下面有很多时区文件,如下所示,可以复制这些时区文件覆盖/etc/localtime文件,或修改符号链接/etc/locatime对应的文件
[root@db-server~]#date-R
Mon,12Jan201510: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,11Jan201518:42:49-0800
[root@db-server~]#
注意如果有时候,执行了上面命令后,使用date-R发现时区设置没有生效,有可能是因为你在profile或.bash_profile里面设置了TZ,如下案例所示:
[root@db-server~]#date-R
Sun,11Jan201518:42:49-0800
[root@db-server~]#vi.bash_profile
#.bash_profile
#Getthealiasesandfunctions
if[-f~/.bashrc];then
.~/.bashrc
fi
#Userspecificenvironmentandstartupprograms
PATH=$PATH:$HOME/bin
TZ='Asia/Shanghai';exportTZ
exportPATH
unsetUSERNAME
~
~
".bash_profile"14L,221Cwritten
[root@db-server~]#source.bash_profile
[root@db-server~]#date-R
Mon,12Jan201510:44:35+0800
方式2:修改链接/etc/locatime的时区文件
[root@db-server~]#ln/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
ln:creatinghardlink`/etc/localtime'to`/usr/share/zoneinfo/Asia/Shanghai':Fileexists
[root@db-server~]#rm/etc/localtime
rm:removeregularfile`/etc/localtime'?y
[root@db-server~]#ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
[root@db-server~]#date-R
Mon,12Jan201510:56:10+0800
[root@db-server~]#
方法3:使用timeconfig设置时区
timeconfig命令仅限于RedHatLinux和CentOS。
参 数:
--arc 使用Alpha硬件结构的格式存储系统时间。
--back 在互动式界面里,显示Back钮而非Cancel钮。
--test 仅作测试,并不真的改变系统的时区。
--utc 把硬件时钟上的时间视为CUT,有时也称为UTC或UCT。
感觉这个timeconfig命令在命令界面使用起来并不好用。给人的感觉非常别扭。用户体验非常糟糕。如下所示,看起来也很糟糕。
[root@db-server~]#timeconfig--utc"Asia/Shanghai"
方法4:使用dpkg-reconfiguretzdata设置时区
这个仅仅适用于Debian,手头没有环境,没有实验过,在此不作过多阐述。
相关文章推荐
- Linux查看设置系统时区
- 转载:Linux查看设置系统时区
- linux查看设置系统时区
- Linux查看设置系统时区
- Linux查看设置系统时区
- Linux查看及设置系统时区
- Linux查看及设置系统时区
- Linux查看设置系统时区
- Linux查看设置系统时区
- 在linux系统中通过fw_printenv查看和设置u-boot中的环境变量
- Linux下查看/修改系统时区、时间
- VMware中Linux系统时间与主机同步以及时区设置
- 查看/修改Linux时区和时间,更新系统时间
- Linux下,查看并设置系统时间
- linux系统时区设置
- Linux中如何查看修改系统的时间和时区
- linux修改系统时间和linux查看时区、修改时区的方法
- [Linux] 设置系统时区
- Linux/shell命令的实际应用——查看并修改系统时区
- linux查看和修改系统时间和时区