Linux命令-更新系统时间

查看系统时间和时区:

date 查看系统时间
date -R 查看时区

(1)修改时区
tzselect 修改时区

[root@hecs-x-large-2-linux-20200323161617 ~]# 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.
#? 
 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) Beijing Time
2) Xinjiang Time
#? 1

The following information has been given:

        China
        Beijing Time

Therefore TZ='Asia/Shanghai' will be used.
Local time is now:      Thu Oct 22 11:51:16 CST 2020.
Universal Time is now:  Thu Oct 22 03:51:16 UTC 2020.
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@hecs-x-large-2-linux-20200323161617 ~]# date
Thu Oct 22 11:52:18 CST 2020
[root@hecs-x-large-2-linux-20200323161617 ~]# 
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ln -s /usr/share/zoneinfo/America/Los_Angeles /etc/localtime

(2)修改系统时间

date 查看当前系统时间
yum install -y ntpdate 安装ntpdate程序
ntpdate time.windows.com 从互联网更新系统时间
ntpdate cn.pool.ntp.org 从互联网更新系统时间
date 再次查看当前系统时间

(3)修改时钟文件:

/etc/sysconfig/clock

修改为:
ZONE=“Asia/Shanghai”
UTC=false
ARC=false

(4)linux系统下java程序获取的时间与系统时间不一致,怎么办?

造成这种问题的原因是:你的操作系统时区跟你JVM的时区不一致。

你的操作系统应该是中国的时区,而JVM的时区不一定是中国时区,你在应用服务器的Java虚拟机添加如下配置: -Dfile.encoding=UTF8 -Duser.timezone=GMT+08

在一个精简的Linux安装上jre,所有的java程序获取的时间都不是系统时间。java程序获取的时间都是GMT时间,而系统是北京时间,是GMT+8,刚好相差8小时。只有两种方法可以解决 :
1、在程序中使用java的函数设定时区。
2、在启动java程序时加参数-Duser.timezone=GMT+8

jre是从/etc/sysconfig/clock这个文件中 获取时区信息的。
附clock文件内容:

ZONE=“Asia/Shanghai”
UTC=false
ARC=false
ZONE – 时区
UTC – 表明时钟设置为UTC。
ARC – 仅用于alpha表明使用ARC。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值