温馨提示×

如何设置Ubuntu时间戳

小樊
58
2026-08-11 23:18:48
栏目: 智能运维

在 Ubuntu 中,**时间戳(timestamp)**通常指系统时间、硬件时间以及时区配置。下面按常见需求给你一个完整说明。


一、查看当前时间戳

1️⃣ 查看当前系统时间

date

2️⃣ 查看 Unix 时间戳(秒级)

date +%s

3️⃣ 查看毫秒级时间戳

date +%s%3N

二、设置系统时间(手动)

⚠️ 不推荐长期使用手动设置,建议用 NTP 自动同步

方法一:使用 date 命令(临时)

sudo date -s "2026-01-21 15:30:00"

验证:

date

方法二:使用 timedatectl(推荐)

查看当前时间状态

timedatectl

设置时间

sudo timedatectl set-time "2026-01-21 15:30:00"

三、设置时区(非常重要)

查看当前时区

timedatectl

列出所有时区

timedatectl list-timezones

设置时区(例如中国)

sudo timedatectl set-timezone Asia/Shanghai

四、启用自动时间同步(强烈推荐)

Ubuntu 默认使用 systemd-timesyncd

启用 NTP 同步

sudo timedatectl set-ntp true

检查状态:

timedatectl status

输出中应包含:

System clock synchronized: yes
NTP service: active

五、硬件时间(RTC)设置

查看硬件时间

sudo hwclock

将系统时间写入硬件时间

sudo hwclock --systohc

将硬件时间同步到系统

sudo hwclock --hctosys

六、常见问题排查

❌ 时间总是变慢 / 不对

✅ 原因可能是:

  • 没启用 NTP
  • 虚拟机时间不同步
  • 时区错误

✅ 解决方案:

sudo timedatectl set-ntp true
sudo timedatectl set-timezone Asia/Shanghai

七、Docker / 容器中的时间戳问题(补充)

如果你是在 Docker 容器 里:

  • 容器默认使用宿主机时间
  • 可以使用:
docker run -v /etc/localtime:/etc/localtime:ro ...

✅ 推荐标准配置(Ubuntu 20.04+)

sudo timedatectl set-timezone Asia/Shanghai
sudo timedatectl set-ntp true

如果你有具体场景(如服务器、Docker、日志时间不对、程序时间戳异常),可以告诉我,我可以给你更针对性的方案。

0