Linux系统日期与时区
date 命令 —查看与设置系统时间
基本语法
date [-d] [+格式化字符串]
-
-d:按照给定字符串显示日期,常用于日期计算(如-d '+1 day')。 -
+格式化字符串:自定义输出格式,使用特定占位符。
常用格式化占位符
| 占位符 | 含义 | 示例 |
|---|---|---|
%Y |
年份(4位) | 2026 |
%y |
年份后两位 | 26 |
%m |
月份(01-12) | 03 |
%d |
日(01-31) | 01 |
%H |
小时(00-23) | 14 |
%M |
分钟(00-59) | 30 |
%S |
秒(00-59) | 45 |
%s |
时间戳(1970-01-01 以来的秒数) | 1719871234 |
使用示例
查看当前系统时间(默认格式)
date # Fri Apr 14 03:40:23 PDT 2023

按指定格式显示
date "+%Y-%m-%d" # 2023-04-14
date "+%Y-%m-%d %H:%M:%S" # 2023-04-14 14:30:45
date "+%s" # 时间戳
日期计算(配合 -d 选项)
# 明天
date -d '+1 day' "+%Y-%m-%d"
# 昨天
date -d '-1 day' "+%Y-%m-%d"
# 下个月
date -d '+1 month' "+%Y-%m-%d"
# 上一小时
date -d '-1 hour' "+%Y-%m-%d %H:%M:%S"
# 1年2个月3天后
date -d '+1 year +2 months +3 days' "+%Y-%m-%d"
Linux 时区设置
问题现象
使用 date 查看时间可能不准确,因为系统默认时区可能不是东八区(CST,中国标准时间)。
修改时区为东八区(上海)
# 删除原有的本地时间配置
sudo rm -f /etc/localtime
# 创建软链接指向上海时区文件
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 执行后,
date显示的时间即为东八区时间(如CST)。
NTP 时间同步
安装 NTP 服务
# 使用 yum 安装(适用于 CentOS/RHEL)
sudo yum -y install ntp
启动并设置开机自启
sudo systemctl start ntpd # 立即启动
sudo systemctl enable ntpd # 设置开机自启
手动同步时间(可选)
# 使用 ntpdate 手动校准(需 root 权限)
sudo ntpdate -u ntp.aliyun.com

-
-u:使用非特权端口(避免防火墙干扰)。 -
阿里云 NTP 服务器:
ntp.aliyun.com(也可用pool.ntp.org等)。
说明
ntpd启动后会定期联网校准系统时间,保持准确。- 手动校准命令
ntpdate常用于一次性同步或脚本中,若与ntpd同时使用可能冲突,建议只选一种方式。
注意事项
- 修改时区或时间相关操作通常需要
root权限,记得使用sudo。 - 如果系统未联网,NTP 同步会失败,需先确保网络连接。
- 日期计算中的
-d选项支持复杂表达式,如'next friday'、'2 weeks ago'等(GNU 扩展)。

浙公网安备 33010602011771号