Ubuntu16.04操作系统环境下修改时区
本文主要介绍如何在Ubuntu16.04操作系统环境下修改时区。
1. 时区相关操作
如果你的Linux系统时区配置不正确,必须要手动调整到正确的当地时区。NTP对时间的同步处理只计算当地时间与UTC时间的偏移量,因此配置一个NTP对时间进行同步并不能解决时区不正确的问题。所以大家在用了国外云计算服务商如Microsoft Azure 或者其他vps、虚拟机时,需要注意是否与中国大陆的时区一致。
1) 查看Linux当前时区
你可以使用如下命令非常容易地就查看到Linux系统的当前时区:
上面CST
可视为美国、澳大利亚、古巴或中国的标准时间。
CST
可以为如下4个不同的时区的缩写:
-
美国中部时间:Central Standard Time (USA) UT-6:00
-
澳大利亚中部时间:Central Standard Time (Australia) UT+9:30
-
中国标准时间:China Standard Time UT+8:00
-
古巴标准时间:Cuba Standard Time UT-4:00
2) 获取时区TZ值
要更改Linux系统时区首先得获知你所在当地时区的TZ值,使用tzselect
命令即可查看并选择已安装的时区文件:
通过上面我们知道香港时区值的写法为Asia/Hong_Kong
此外,我们也可以通过如下方式来获得各时区的写法:
# ls /usr/share/zoneinfo/ Africa Asia Canada Cuba EST GB GMT-0 HST iso3166.tab Kwajalein MST NZ-CHAT posix right Turkey UTC Zulu America Atlantic CET EET EST5EDT GB-Eire GMT+0 Iceland Israel Libya MST7MDT Pacific posixrules ROC UCT WET Antarctica Australia Chile Egypt Etc GMT Greenwich Indian Jamaica MET Navajo Poland PRC ROK Universal W-SU Arctic Brazil CST6CDT Eire Europe GMT0 Hongkong Iran Japan Mexico NZ Portugal PST8PDT Singapore US zone.tab # ls /usr/share/zoneinfo/Asia/ Aden Bahrain Choibalsan Dushanbe Jakarta Khandyga Makassar Pontianak Seoul Thimbu Vientiane Almaty Baku Chongqing Gaza Jayapura Kolkata Manila Pyongyang Shanghai Thimphu Vladivostok Amman Bangkok Chungking Harbin Jerusalem Krasnoyarsk Muscat Qatar Singapore Tokyo Yakutsk Anadyr Barnaul Colombo Hebron Kabul Kuala_Lumpur Nicosia Qyzylorda Srednekolymsk Tomsk Yangon Aqtau Beirut Dacca Ho_Chi_Minh Kamchatka Kuching Novokuznetsk Rangoon Taipei Ujung_Pandang Yekaterinburg Aqtobe Bishkek Damascus Hong_Kong Karachi Kuwait Novosibirsk Riyadh Tashkent Ulaanbaatar Yerevan Ashgabat Brunei Dhaka Hovd Kashgar Macao Omsk Saigon Tbilisi Ulan_Bator Ashkhabad Calcutta Dili Irkutsk Kathmandu Macau Oral Sakhalin Tehran Urumqi Baghdad Chita Dubai Istanbul Katmandu Magadan Phnom_Penh Samarkand Tel_Aviv Ust-Nera
3) 更改每个用户的时区
Linux是一个多用户系统,每个用户都可以配置自己所需的时区,你可以为自己新增一个TZ环境变量:
export TZ='Asia/Shanghai'
执行完成后,需要重新登录系统或刷新~/.bashrc生效。
# source ~/.bashrc
4) 更改系统时区
要更改Linux系统整个系统范围的时区可以使用如下命令:
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意: /usr/share/zoneinfo/Asia/Shanghai中的具体时区请用自己获取的TZ值进行替换。
5) 使用Systemd更改Linux系统时区
如果你使用的Linux系统使用Systemd,还可以使用timedatectl
命令来更改Linux系统范围的时区。在Systemd下有一个名为systemd-timedated的系统服务负责调整系统时钟和时区,我们可以使用timedatectl命令对此系统服务进行配置:
# sudo timedatectl set-timezone 'Asia/Shanghai'
[参看]: