linux 时间时区

查看/修改Linux时区和时间
一、时区
1. 查看当前时区
date -R
2. 修改设置时区
方法(1)
tzselect
tzselect命令用于选择时区。要注意的是tzselect只是帮我们把选择的时区显示出来,并不会实际生效,也就是说它仅仅告诉我们怎么样去设置环境变量TZ。(TZ = Time Zone)(The tzselect program asks the user for information about the current location, and outputs the resulting time zone description to standard output. The output is suitable as a value for the TZ environment variable. All interaction with the user is done via standard input and standard error.)如果你要永久更改时区,按照tzselect命令提示的信息,在.profile或者/etc/profile中设置正确的TZ环境变量并导出。还有另外一种更改时区的方法就是直接更改系统配置文件/etc/sysconfig/clock,然后修改符号链接/etc/locatime对应的文件.
方法(2) 仅限于RedHat Linux 和 CentOS
timeconfig
方法(3) 适用于Debian
dpkg-reconfigure tzdata
3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
在中国可以使用:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二、时间
1、查看时间和日期
date
2、设置时间和日期
将系统日期设定成1996年6月10日的命令
date -s 06/22/96
将系统时间设定成下午1点52分0秒的命令
date -s 13:52:00
3. 将当前时间和日期写入BIOS,避免重启后失效
hwclock -w
三、定时同步时间
* * * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1



 在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

查看Linux系统时间:
date
修改Linux系统时间:
date -s (后面跟时间)

查看Linux硬件时间:
hwclock

clock

hwclock –show

clock –show

修改Linux硬件时间:
hwclock –set –date

clock –set –date

让系统时间与硬件时钟同步,用:
hwclock –hctosys

clock –hctosys

相反地,让硬件时钟与系统时间同步:
hwclock –systohc

clock –systohc

让系统时间每隔十分钟去同步一下硬件时间。

[hqw@localhost root]$ vi /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly */10 * * * * root hwclock --hctosys #我加入了这么一行,表示每隔10分钟执

行一次hwclock --hctosys。







tzselect命令用于选择时区。要注意的是tzselect只是帮我们把选择的时区显示出来,并不会实际生效,也就是说它仅仅告诉我们怎么样去设置环境变量TZ。(TZ = Time Zone)(The tzselect program asks the user for information about the current location, and outputs the resulting time zone description to standard output. The output is suitable as a value for the TZ environment variable. All interaction with the user is done via standard input and standard error.)如果你要永久更改时区,按照tzselect命令提示的信息,在.profile或者/etc/profile中设置正确的TZ环境变量并导出。还有另外一种更改时区的方法就是直接更改系统配置文件/etc/sysconfig/clock,然后修改符号链接/etc/locatime对应的文件,详见示例三。

常用参数
无。
使用示例
示例一 将时区更改为北京
[root@new55 ~]# tzselect
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
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
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
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#? 9
Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang
#? 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: Mon Dec 6 09:40:35 CST 2010.
Universal Time is now: Mon D

ec 6 01:40:35 UTC 2010.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai
[root@new55 ~]#
现在要做的事情就是按照提示,把 TZ='Asia/Shanghai'; export TZ 添加到.profile中(bash对应加到.bash_profile)。

示例二 将时区更改为夏威夷
[root@new55 ~]# tzselect
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
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 2
Please select a country.
1) Anguilla 27) Honduras
2) Antigua & Barbuda 28) Jamaica
3) Argentina 29) Martinique
4) Aruba 30) Mexico
5) Bahamas 31) Montserrat
6) Barbados 32) Netherlands Antilles
7) Belize 33) Nicaragua
8) Bolivia 34) Panama
9) Brazil 35) Paraguay
10) Canada 36) Peru
11) Cayman Islands 37) Puerto Rico
12) Chile 38) St Barthelemy
13) Colombia 39) St Kitts & Nevis
14) Costa Rica 40) St Lucia
15) Cuba 41) St Martin (French part)
16) Dominica 42) St Pierre & Miquelon
17) Dominican Republic 43) St Vincent
18) Ecuador 44) Suriname
19) El Salvador 45) Trinidad & Tobago
20) French Guiana 46) Turks & Caicos Is
21) Greenland 47) United States
22) Grenada 48) Uruguay
23) Guadeloupe 49) Venezuela
24) Guatemala 50) Virgin Islands (UK)
25) Guyana 51) Virgin Islands (US)
26) Haiti
#? 47
Please select one of the following time zone regions.
1) Eastern Time
2) Eastern Time - Michigan - most locations
3) Eastern Time - Kentucky - Louisville area
4) Eastern Time - Kentucky - Wayne County
5) Eastern Time - Indiana - most locations
6) Eastern Time - Indiana - Daviess, Dubois, Knox & Martin Counties
7) Eastern Time - Indiana - Pulaski County
8) Eastern Time - Indiana - Crawford County
9) Eastern Time - Indiana - Pike County
10) Eastern Time - Indiana - Switzerland County
11) Central Time
12) Central Time - Indiana - Perry County
13) Central Time - Indiana - Starke County
14) Central Time - Michigan - Dickinson, Gogebic, Iron & Menominee Counties
15) Central Time - North Dakota - Oliver County
16) Central Time - North Dakota - Morton County (except

Mandan area)
17) Mountain Time
18) Mountain Time - south Idaho & east Oregon
19) Mountain Time - Navajo
20) Mountain Standard Time - Arizona
21) Pacific Time
22) Alaska Time
23) Alaska Time - Alaska panhandle
24) Alaska Time - Alaska panhandle neck
25) Alaska Time - west Alaska
26) Aleutian Islands
27) Hawaii
#? 27

The following information has been given:

United States
Hawaii

Therefore TZ='Pacific/Honolulu' will be used.
Local time is now: Sun Dec 5 16:37:02 HST 2010.
Universal Time is now: Mon Dec 6 02:37:02 UTC 2010.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
TZ='Pacific/Honolulu'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Pacific/Honolulu
[root@new55 ~]#
[root@new55 ~]# cat /etc/sysconfig/clock
# The ZONE parameter is only evaluated by system-config-date.
# The timezone of the system is defined by the contents of /etc/localtime.
ZONE="Asia/Shanghai"
UTC=true
ARC=false
[root@new55 ~]#
注意:tzselect命令只告诉你选择的时区的 写法,并不会生效。所以现在它还是东8区北京时间。
[root@new55 ~]# date -R
Mon, 06 Dec 2010 10:46:11 +0800
[root@new55 ~]#
[root@new55 ~]# TZ='Pacific/Honolulu'; export TZ
[root@new55 ~]# date -R
Sun, 05 Dec 2010 16:46:44 -1000
[root@new55 ~]#
[root@new55 ~]# exit
logout
重新登录TZ就没有了。
Last login: Mon Dec 6 09:39:30 2010 from 192.168.6.106
[root@new55 ~]# echo $TZ

[root@new55 ~]#
示例三 通过更改配置文件来修改时区
[root@new55 ~]# cat /etc/sysconfig/clock
# The ZONE parameter is only evaluated by system-config-date.
# The timezone of the system is defined by the contents of /etc/localtime.
ZONE="Asia/Shanghai"
UTC=true
ARC=false
[root@new55 ~]#
修改linux系统时区
1) 可修改/etc/sysconfig/clock
ZONE=Asia/Shanghai ( 查/usr/share/zoneinfo 下面的文件。 )
UTC=false ( 硬件时钟是否为 UTC 或者说 GMT 时钟。 )
ARC=false (如果是在 Alpha 机器上,则设置为 true 。 )
(把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制,缺点是,在安装有多重操作系统启动的机器上,在另外的操作系统上时钟会错误。 )
2) rm /etc/localtime
Zhy: 这个文件是个符号链接?如果是在系统安装时就设置好的话,就是个普通文件。
3) 以上海为例:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime








Websphere中的jvm时区调整

昨天处理了一个Websphere时区的问题:

环境:

操作系统HP-UX 上装了websphere6.1+jvm1.5 (我试了几次jdk好像只有1.5的会出现这个问题,希望IBM的

人能测试一下)

问题:

日志和jsp上的定时任务都提前了8个小时

写了个程序从jsp页面直接获取了一下时区,发现时区是GMT(格林尼治时间)的,而北京时间是东八区所以正好相差了8个小时,分析可能是安装Websphere的用户的环境变量当时没有选择中文的一些配置,导致系统没有安装中国人的习惯来安装,不过这点希望IBM能做点改进,都已经卖给中的产品了时区还不给调整一下!

说一下修改时区的办法(我的是中文界面):
1.登陆控制台;
2.选择服务器--->应用程序服务器----->启动的服务器(我这里是默认的server1)--------->进程定义----->java虚拟机------>定制属性;
3.选择新建
4.名称为:user.timezone;
5.值为:Asia/Shanghai;
6.保存;
7.重启服务


user.timezone设置为GMT+8也可以
对,有些环境不识别Asia/Shanghai可以直接设置成GMT+8

相关文档
最新文档