在 Ubuntu 中修改系统时间戳(日期和时间)有多种方式,主要取决于你是临时修改还是永久修改,以及是否使用 NTP 时间同步。下面按常见场景说明。
date 命令(不推荐,仅临时)sudo date -s "2026-01-21 15:30:00"
验证:
date
⚠️ 注意:
timedatectl(Ubuntu 16.04+)这是 最标准、最推荐 的方式。
timedatectl
示例输出:
Local time: Wed 2026-01-21 15:30:00 CST
Universal time: Wed 2026-01-21 07:30:00 UTC
RTC time: Wed 2026-01-21 07:30:00
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
sudo timedatectl set-ntp false
sudo timedatectl set-time "2026-01-21 15:30:00"
sudo timedatectl set-timezone Asia/Shanghai
查看所有时区:
timedatectl list-timezones
Ubuntu 默认系统时间 ≠ 硬件时间,建议同步。
sudo hwclock --systohc
hwclock
sudo timedatectl set-ntp true
系统会自动使用:
systemd-timesyncdchrony / ntp(如已安装)验证:
timedatectl status
应看到:
System clock synchronized: yes
docker run --privileged
✅ 正确做法:修改 宿主机时间
✅ 原因:
sudo timedatectl set-ntp false
✅ 建议:
rsyslog / journald# 查看当前时间
timedatectl
# 关闭 NTP
sudo timedatectl set-ntp false
# 设置时间
sudo timedatectl set-time "2026-01-21 15:30:00"
# 设置时区
sudo timedatectl set-timezone Asia/Shanghai
# 写入硬件时间
sudo hwclock --systohc
如果你能说明:
我可以给你 最合适、最安全 的方案。