本文共 3980 字,大约阅读时间需要 13 分钟。
一、Linux调整时区
1) 找到相应的时区文件 ,如调整到亚洲/上海时区:
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
用这个文件替换当前的/etc/localtime文件。
2) 修改/etc/sysconfig/clock文件,修改为:
ZONE=”Asia/Shanghai”
UTC=false
ARC=false
3)通过tzselect调整
# tzselect
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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 Europe 9 ) Indian Ocean 10 ) Pacific Ocean 11 ) none – I want to specify the time zone using the Posix TZ format. 输入 5 ,亚洲 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 Cambodia 25 ) Kyrgyzstan 42 ) Syria 9 ) China 输入 9 ,中国 Please select one of the following time zone regions 1 ) east China – Beijing, Guangdong, Shanghai, etc. 2 ) Heilongjiang 3 ) central China – Gansu, Guizhou, Sichuan, Yunnan, etc. 4 ) Tibet & most of Xinjiang Uyghur 5 ) southwest Xinjiang Uyghur 输入 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: Fri Jul 7 10 : 32 : 18 CST 2006. Universal Time is now: Fri Jul 7 02 : 32 : 18 UTC 2006. Is the above information OK? 1 ) Yes2) No 输入 1 ,确认 |
二、Linux时间的更改
Linux时钟分为系统时钟 (System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和 clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。
1、date
查看系统时间
# date
设置系统时间
# date –set “07/07/06 10:19″ (月/日/年时:分:秒)
2、hwclock/clock
查看硬件时间
# hwclock –show
或者# clock –show
设置硬件时间
# hwclock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒)
或者# clock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒)
3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。
硬件时钟与系统时钟同步:# hwclock –hctosys(hc代表硬件时间,sys代表系统时间)或者# clock –hctosys
系统时钟和硬件时钟同步:# hwclock –systohc或者# clock –systohc
三、UNIX中的时区TZ设置
修改时区的方法:
Solaris:
在solaris中,修改时区需要修改/etc/TIMEZONE文件,其中的TZ=PRC就表示中国时区,我们可以将其替换为TZ=US/Pacific,再重启机器,就将时区修改为美国太平洋时区了。
这里需要注意三点:
1,在X86的机器上,需要再执行如下命令,更新/etc/rtc_config文件:
# rtc -z zone-name(这里的zone-name就是/etc/TIMEZONE中TZ的值)
# rtc -c
2,到底有多少中时区可以选择呢?我们可以进入/usr/share/lib/zoneinfo目录,其中有很多目录,包括US,也有很多文件,比如PRC;这表示US下还有很多时区,而PRC就是统一的时区。正因为如此,我们才看到TZ=PRC和TZ=US/Pacific这两种不同的形式。
3,需要重启系统使之生效。
AIX:
1,查看当前时区(其他操作系统是date命令即可)
cat /etc/environment (查找TZ所在行)
2,为了妥善起见,建议使用smit修改时区
smit chtz
3,所有的时区信息在/usr/share/lib/zoneinfo目录
HPUX:
修改配置文件,/etc/TIMEZONE为
#vi /etc/TIMEZONETZ=EAT-8export TZ
修改配置文件/etc/default/tz 为
# vi /etc/default/tz EAT-8
修改完成后需要重启系统。
#echo $TZ
EAT-8
(若APP显示的是UTC时间,则需要减去8个小时来转换为本地北京时间。)
四、常见的系统时区定义:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Time Zones Defined on the System: Name Time Zone CUT Offset CUT0GDT Coordinated Universal Time CUT GMT0BST United Kingdom CUT AZOREST1AZOREDT Azores, Cape Verde CUT -1 FALKST2FALKDT Falkland Islands CUT -2 GRNLNDST3GRNLNDDT Greenland, East Brazil CUT -3 AST4ADT Central Brazil CUT -4 中文: 系统时区定义 定义 时区 GMT时间定义 CUT0GDT 格林威治时间 CUT GMT0BST 伦敦 都柏林 里斯本 爱丁堡 CUT AZOREST1AZOREDT 亚速尔群岛 佛得角群岛 CUT -1 FALKST2FALKDT 福克兰群岛(西大西洋) CUT -2 GRNLNDST3GRNLNDDT 格陵兰 巴西利亚 纽芬兰 CUT -3 AST4ADT 大西洋时间(加拿大)南美洲西部 圣地亚哥 CUT -4 EST5EDT 东部时间(美加) 印第安纳(东部) CUT -5 CST6CDT 中部时间(美加) 墨西哥城 CUT -6 MST7MDT 山地时间(美加) 亚利桑那 CUT -7 PST8PDT 太平洋时间(美加) 蒂华纳 CUT -8 AST9ADT 阿拉斯加 CUT -9 HST10HDT 夏威夷 CUT -10 BST11BDT 中途岛 萨摩亚群岛 CUT -11 NZST-12NZDT 纽西兰 新西兰(太平洋南部岛国) CUT +12 PAKST-5PAKDT 伊斯兰堡 卡拉奇 CUT +5 WST-4WDT 高尔基 中亚 阿曼 CUT +4 MEST-3MEDT 土耳其 CUT +3 SAUST-3SAUDT 沙乌地阿拉伯 CUT +3 WET-2WET 芬兰 CUT +2 USAST-2USADT 南非 东欧 CUT +2 NFT-1DFT 挪威(北欧国家)罗马 CUT +1 |