timedatectl
date
ls -l /etc/localtime
sudo timedatectl set-timezone Asia/Shanghai # 以设置为上海时区为例
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo $TZ
# 如果有输出,可能需要取消设置或修改
unset TZ # 临时取消
# 或编辑 ~/.bashrc, ~/.profile, /etc/profile等文件永久修改
sudo systemctl restart systemd-timedated.service
# 对于特定应用,可能需要重启应用服务
# 检查硬件时钟是否使用UTC
sudo hwclock --show
# 如果需要,可以设置为本地时间
sudo hwclock --localtime
# 运行容器时挂载时区文件
docker run -v /etc/localtime:/etc/localtime:ro ...
# 或设置环境变量
docker run -e TZ=Asia/Shanghai ...
可能需要直接编辑文件:
sudo vi /etc/timezone
# 内容为(例如): Asia/Shanghai
date
timedatectl
如果仍然不生效,可以尝试重启系统。
如果以上方法都不能解决问题,可能需要检查系统日志获取更多信息:
journalctl -xe
dmesg | grep time