在 CentOS 中,“时间戳格式”通常指 系统时间显示格式 或 日志中的时间格式。下面按常见场景分别说明。
date
只显示 Unix 时间戳(秒):
date +%s
只显示 毫秒时间戳:
date +%s%3N
date 显示格式(推荐)date 命令支持自定义格式,这只是显示格式,不影响系统时间。
date "+%Y-%m-%d %H:%M:%S"
输出示例:
2026-01-21 14:30:00
| 格式 | 含义 |
|---|---|
| %Y | 年(4位) |
| %m | 月 |
| %d | 日 |
| %H | 小时(24小时) |
| %M | 分钟 |
| %S | 秒 |
| %s | Unix 时间戳 |
| %F | 等效于 %Y-%m-%d |
| %T | 等效于 %H:%M:%S |
CentOS 7 / 8 / Stream
timedatectl
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
✅ 修改后,date 显示的时间格式会随之变化。
如果你指的是 /var/log/messages 等日志时间格式:
vi /etc/rsyslog.conf
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
可改为:
$template CustomFormat,"%timegenerated% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$ActionFileDefaultTemplate CustomFormat
systemctl restart rsyslog
export TIME_STYLE=long-iso
影响 ls -l 时间显示,不影响系统时间。
如果是 Java / Python / 应用日志时间戳格式,那是应用配置问题,不是系统设置。
| 需求 | 做法 |
|---|---|
| 查看/显示时间戳 | date +%s |
| 自定义时间显示 | date "+%Y-%m-%d %H:%M:%S" |
| 修改时区 | timedatectl set-timezone |
| 修改日志时间格式 | 修改 rsyslog |
| 修改 ls 时间显示 | TIME_STYLE |
如果你能具体说明是:
我可以给你更精确的配置示例。