在 Ubuntu 中,**时间戳(timestamp)**通常指系统时间、硬件时间以及时区配置。下面按常见需求给你一个完整说明。
date
date +%s
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
sudo timedatectl set-ntp true
检查状态:
timedatectl status
输出中应包含:
System clock synchronized: yes
NTP service: active
sudo hwclock
sudo hwclock --systohc
sudo hwclock --hctosys
✅ 原因可能是:
✅ 解决方案:
sudo timedatectl set-ntp true
sudo timedatectl set-timezone Asia/Shanghai
如果你是在 Docker 容器 里:
docker run -v /etc/localtime:/etc/localtime:ro ...
sudo timedatectl set-timezone Asia/Shanghai
sudo timedatectl set-ntp true
如果你有具体场景(如服务器、Docker、日志时间不对、程序时间戳异常),可以告诉我,我可以给你更针对性的方案。