HPUX: 一个系统能够同时支持两个时区吗? 问题描述 一个 HP 系统能够同时支持两个时区吗? 我们正在考虑在我们位于密歇根州的 HP主机为位于德国的工厂再运行一个应用程序。这第二个应用程序需要系统的日期和时间来反映德国的时区,同时我们当前的应用程序需要美国东部时区的时间设置。 如何在一个 HP9000 中实现该任务? 解决方法 因为只有一个系统时钟,所以只可能有一个系统时间。但是每个用户可以通过设置’TZ’ 环境变量来位于不同的时区内。 系统时区 (TZ) 存储在文件 /etc/TIMEZONE 中,是在使用 set_parms 时区命令设置操作系统时建立的。对于一个时间不同于系统时间的用户,他们必须设置并导出 TZ 变量,这些变量通常在它们的 .profile 中。 例如,要将某个用户的时间设置为中部欧洲时间,夏令时,则应该向该用户的 .profile 文件添加下列内容: TZ=MET-1METDST export TZ 请参阅 tztab(4) Man Page。另请参阅 /usr/lib/tztab 文件: #more /usr/lib/tztab 这样会为该用户 Shell 设置该变量,并一直保持到更改或注销时,但是它不能确保该应用程序会使用 shell 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,需要重启系统使之生效。
Linux(Redhat and Suse): 1,在/usr/share/zoneinfo/目录下查询想要更换的时区名称,修改格式同上 2,将原有的localtime文件移走; # mv /etc/localtime /etc/localtime-old 3,做新的localtime文件,将对应的时区文件链接过来 # ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 4,与硬件同步 # /sbin/hwclock --systohc
AIX: 1,查看当前时区(其他操作系统是date命令即可) cat /etc/environment (查找TZ所在行) 2,为了妥善起见,建议使用smit修改时区 smit chtz 3,所有的时区信息在/usr/share/lib/zoneinfo目录
HPUX: 1,# set_parms timezone,可以通过交互的方式来修改时区。
所有Unix系统(不包括Linux),可以通过echo $TZ来查看当前时区。
时区的系统常见定义: unix系统时区设置: 每个用户可以使用环境变量TZ来设置与系统不同的时区,这个设置将覆盖系统的设置。执行date命令,显示与系统不同的时区时间。 常见的系统时区定义(英文): 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 EST5EDT Eastern United States, Colombia CUT -5 CST6CDT Central United States, Honduras CUT -6 MST7MDT Mountain United States CUT -7 PST8PDT Pacific United States, Yukon CUT -8 AST9ADT Alaska CUT -9 HST10HDT Hawaii, Aleutian Islands CUT -10 BST11BDT Bering Strait CUT -11 NZST-12NZDT New Zealand CUT +12 MET-11METDT Solomon Islands CUT +11 EET-10EETDT Eastern Australia CUT +10 JST-9JSTDT Japan CUT +9 KORST-9KORDT Korea CUT +9 WAUST-8WAUDT Western Australia CUT +8 TAIST-8TAIDT Taiwan CUT +8 THAIST-7THAIDT Thailand CUT +7 TASHST-6TASHDT Central Asia CUT +6 PAKST-5PAKDT Pakistan CUT +5 WST-4WDT Gorki, Central Asia, Oman CUT +4 MEST-3MEDT Turkey CUT +3 SAUST-3SAUDT Saudi Arabia CUT +3 WET-2WET Finland CUT +2 USAST-2USADT South Africa CUT +2 NFT-1DFT Norway CUT +1 中文翻译: 系统时区定义 定义 时区 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 MET-11METDT 太平洋中部 所罗门群岛 CUT +11 EET-10EETDT 堪培拉 墨尔本 悉尼 关岛 CUT +10 JST-9JSTDT 东京 CUT +9 KORST-9KORDT 汉城 大阪 扎幌 CUT +9 WAUST-8WAUDT 北京 上海 台湾 香港 新加坡 CUT +8 TAIST-8TAIDT 台湾(中国) CUT +8 THAIST-7THAIDT 曼谷 河内 雅加达 胡志明市 CUT +7 TASHST-6TASHDT 中亚 阿马提 达卡 CUT +6 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 |