UNIX中的时区TZ设置

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/TIMEZONETZ的值)

# rtc -c

2,到底有多少种时区可以选择呢?我们可以进入/usr/share/lib/zoneinfo目录,其中有很多目录,包括US,也有很多文件,比如PRC;这表示US下还有很多时区,而PRC就是统一的时区。正因为如此,我们才看到TZ=PRCTZ=US/Pacific这两种不同的形式。

3,需要重启系统使之生效。

 

LinuxRedhat 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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值