暗无天日

=============>DarkSun的个人博客

linux如何设置时区

查看现在所属的时区

linux的时区设置有一个目录和一个文件需要注意:

  1. /usr/share/zoneinfo/ 目录包含了可以设置的所有时区,其中一个文件就表示一个时区。

    比如 /usr/share/zoneinfo/Asia/Shanghai 就是上海时区

  2. /etc/localtime 是一个软链接,指向 /usr/share/zoneinfo 目录中的某个时区文件,表示当前设置的时区。

因此要查看当前设置的时区,最直接的方法就是看 /etc/localtime 指向的是表示哪个时区的文件。

ls -l /etc/localtime
lrwxrwxrwx 1 root root 33 5月  13 2017 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai

可以看出当前设置的时区就是上海时区

除此之外,还有一种查看时区的方法是使用 timedatectl 命令

timedatectl |grep -i "time zone"
Time zone: Asia/Shanghai (CST, +0800)

设置时区

类似的,设置时区也有两种方法。

一种是直接手工把 /etc/localtime 文件链接到指定的时区文件上。这种方法很直接不需要说什么了。

还有一种也是利用 timedatectl 命令来设置,步骤为:

  1. 查看可以设置哪些时区

    timedatectl list-timezones |grep Asia
    
    Asia/Aden
    Asia/Almaty
    Asia/Amman
    Asia/Anadyr
    Asia/Aqtau
    Asia/Aqtobe
    Asia/Ashgabat
    Asia/Atyrau
    Asia/Baghdad
    Asia/Bahrain
    Asia/Baku
    Asia/Bangkok
    Asia/Barnaul
    Asia/Beirut
    Asia/Bishkek
    Asia/Brunei
    Asia/Chita
    Asia/Choibalsan
    Asia/Colombo
    Asia/Damascus
    Asia/Dhaka
    Asia/Dili
    Asia/Dubai
    Asia/Dushanbe
    Asia/Famagusta
    Asia/Gaza
    Asia/Hebron
    Asia/Ho_Chi_Minh
    Asia/Hong_Kong
    Asia/Hovd
    Asia/Irkutsk
    Asia/Jakarta
    Asia/Jayapura
    Asia/Jerusalem
    Asia/Kabul
    Asia/Kamchatka
    Asia/Karachi
    Asia/Kathmandu
    Asia/Khandyga
    Asia/Kolkata
    Asia/Krasnoyarsk
    Asia/Kuala_Lumpur
    Asia/Kuching
    Asia/Kuwait
    Asia/Macau
    Asia/Magadan
    Asia/Makassar
    Asia/Manila
    Asia/Muscat
    Asia/Nicosia
    Asia/Novokuznetsk
    Asia/Novosibirsk
    Asia/Omsk
    Asia/Oral
    Asia/Phnom_Penh
    Asia/Pontianak
    Asia/Pyongyang
    Asia/Qatar
    Asia/Qyzylorda
    Asia/Riyadh
    Asia/Sakhalin
    Asia/Samarkand
    Asia/Seoul
    Asia/Shanghai
    Asia/Singapore
    Asia/Srednekolymsk
    Asia/Taipei
    Asia/Tashkent
    Asia/Tbilisi
    Asia/Tehran
    Asia/Thimphu
    Asia/Tokyo
    Asia/Tomsk
    Asia/Ulaanbaatar
    Asia/Urumqi
    Asia/Ust-Nera
    Asia/Vientiane
    Asia/Vladivostok
    Asia/Yakutsk
    Asia/Yangon
    Asia/Yekaterinburg
    Asia/Yerevan
    
  2. 设置时区

    sudo timedatectl set-timezone Asia/Hong_Kong
    
  3. 再次查看一下时区

    timedatectl |grep -i "time zone"
    
    Time zone: Asia/Hong_Kong (HKT, +0800)
    

    可以看到时区已经发生了改变