🗺️博客地图
📍[方法一、timedatectl 命令](#方法一、timedatectl 命令)
📍[方法二、手动链接 /etc/localtime](#方法二、手动链接 /etc/localtime)
在 Linux 系统中,可以通过以下3种方式将系统时区修改为 CST(中国标准时间,GMT+8 或称 Asia/Shanghai)
方法一、timedatectl
命令
通过 timedatectl
命令修改,该方法适用大多数 Linux 发行版
① 查看当前时区
java
[root@localhost ~]# timedatectl
Local time: 日 2024-12-22 19:37:20 CST
Universal time: 日 2024-12-22 11:37:20 UTC
RTC time: 日 2024-12-22 11:37:22
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
② 列出可用的时区
java
[root@localhost ~]# timedatectl list-timezones | grep Shanghai
Asia/Shanghai
③ 设置时区为 CST(Asia/Shanghai)
java
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
④ 确认修改成功
java
[root@localhost ~]# timedatectl
方法二、手动链接 /etc/localtime
① 备份原有时区配置
java
[root@localhost ~]# mv /etc/localtime /etc/localtime.bak
② 链接到 CST 时区文件
java
[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
③ 验证是否修改成功
java
[root@localhost ~]# date
输出应该显示当前时间为 CST(GMT+8)
方法三、修改时区变量
如果只需要临时调整时区,可以通过环境变量设置,要注意是临时生效
export TZ="Asia/Shanghai"
验证
date
注意:这种方式只对当前会话有效,重启或新终端打开后会失效。
注意事项:
- 使用
timedatectl
是推荐的方式,特别是对于 Linux 发行版。 - 确保你的系统时钟(UTC 时间)是正确的,时区只是显示时间的形式,不影响 UTC 时间。
- 修改
/etc/localtime
文件的方法适用于不支持timedatectl
的旧版 Linux 系统。