Solaris提供了一个zdump命令来查看某时区的时区规则,该命令的用法是: zdump -v 时区名称 | grep 年 返回信息的格式如下: 时区名称 UTC时间 本地时间 isdst=0/1 isdst=0表示非夏令时,isdst=1表示处于夏令时。 如果无夏令时,那么仅会返回一行信息,否则至少4行信息来描述夏令时规则。 说明 1、夏令时规则一般都是固定为每年X月第X个星期X开始,每年X月第X个星期X结束。即周的固定的,日期是不固定的。如US/Alaska是每年3月第2个星期天开始,11月的第1个星期天结束。 2、建议使用zdump -v命令连续查看三年(今年、明年及后年),即可知道其夏令时规则。 zdump命令的举例 1. 查看中国PRC时区的2007年的时区规则 # zdump -v PRC | grep 2009 PRC Mon Sep 17 06:03:55 2007 UTC = Mon Sep 17 14:03:55 2007 CST isdst=0 由此可知,PRC无夏令时(因为zdump命令仅仅返回一行信息),且是GMT+8 -------------------------------------------------------------------------------------------- 检查服务器时区 # echo $TZ 比如服务器在中国,中国所在的时区是PRC,执行命令后可看到回显信息为“PRC”。 修改/etc/TIMEZONE,将“TZ”值更改为需要的时区名称。 #cp /etc/TIMEZONE /etc/TIMEZONE.bak # vi /etc/TIMEZONE #reboot 说明 l 在目录/usr/share/lib/zoneinfo/src 中查询需要的时区名称,并且确定在目录/usr/share/lib/zoneinfo 下有对应此时区的二进制时区文件。列出了操作系统自带的二进制时区文件。 l 如果不采用夏令时,可以将TZ 值设置为GMT 格式,如GMT+8。 l /etc/TIMEZONE 读写属性为只读,修改完毕后需要强制保存。 |