在 CentOS 中,“设置时间戳”通常涉及系统时间、时区、硬件时间等几个层面。下面按常见场景说明(适用于 CentOS 7/8/Stream)。
date
date +%s
timedatectl
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
✅ 推荐做法,设置后立刻生效,date 命令会显示正确时间。
timedatectltimedatectl set-time "2026-01-21 15:30:00"
前提:需要关闭 NTP
timedatectl set-ntp false
date 命令date -s "2026-01-21 15:30:00"
timedatectl set-ntp true
或使用 chronyd:
systemctl enable chronyd
systemctl start chronyd
查看同步状态:
chronyc sources -v
hwclock --systohc
hwclock --hctosys
一般是 时区未设置成 Asia/Shanghai
timedatectl set-timezone Asia/Shanghai
原因:
解决:
timedatectl set-ntp true
hwclock --systohc
# 查看时间
date
# 设置时区
timedatectl set-timezone Asia/Shanghai
# 开启网络时间同步
timedatectl set-ntp true
如果你指的是 “把某个时间戳转换为可读时间” 或 “程序中设置/获取时间戳”,可以告诉我具体使用场景(比如:Shell / Java / Python / Docker),我可以更精确地说明。