
关于Linux设置时区这方面的文章都是千篇一律,但是这篇文章我是要简单讲解一下我更改时区所get到的点。
关于时区
时区是具有相同标准时间的地理区域。通常,时区是在操作系统的安装过程中设置的,但以后可以轻松更改。
对于许多与系统相关的任务和进程,使用正确的时区至关重要。例如,cron守护程序使用系统的时区执行cron作业。时区也用于日志时间戳。
检查当前时区
timedatectl
是一个命令行实用程序,可让您查看和更改系统的时间和日期。它在所有基于systemd的现代Linux系统上都可用。
要查看当前时区,请在不使用任何选项或参数的情况下调用timedatectl
命令:
timedatectl
Local time: Tue 2019-12-03 16:30:44 UTC
Universal time: Tue 2019-12-03 16:30:44 UTC
RTC time: Tue 2019-12-03 16:30:44
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
上面的输出显示系统的时区设置为UTC。
通过将/etc/localtime
文件符号链接到/usr/share/zoneinfo
目录中的二进制时区标识符来配置系统时区。
检查时区的另一种方法是使用 ls 命令查看符号链接指向的路径:
ls -l /etc/localtime
更改Linux的时区
在更改时区之前,您需要找出要使用的时区的长名称。时区命名约定通常使用“地区/城市”格式。
要查看所有可用时区,请使用timedatectl
命令或在/usr/share/zoneinfo
目录中列出文件:
timedatectl list-timezones
说到关于更改Linux时区方面问题,平时我们大部分都是改为上海这些地区。当我使用某些服务的时候,我需要设置为洛杉矶或者跟IP同一地区时间呢?恰恰我们又摸不清楚时区方面地址信息,还需要慢慢去寻找。对于英语小白那是有点困难的。
这时候就可以使用 Timei.is 这个网站有全球各地时间 而且非常贴心的标记了时区、时差、等信息~


可以看到 洛杉矶的 IANA 时区标识符为 America/Los_Angeles 。
这个时候如果我需要将Linux 时区改为洛杉矶时区或者其它时区,就以root或 sudo 用户身份运行以下命令:
sudo timedatectl set-timezone <your_time_zone>
例如,要将系统的时区更改为America/Los_Angeles
,请输入:
sudo timedatectl set-timezone America/Los_Angeles
要验证更改,请再次调用timedatectl
命令就可以看到时区已经改好了
结论
要在Linux系统中更改时区,请使用sudo timedatectl set-timezone
命令,后设置自己要更改的地区时区。