上一篇
Linux date命令如何自定义输出格式?
- 行业动态
- 2025-04-17
- 7
Linux中date命令可通过格式符自定义输出日期时间,使用
+
后接格式字符串,date “+%Y-%m-%d %H:%M:%S”
输出类似
2025-10-05 15:30:45`,支持%Y(年)、%m(月)、%d(日)、%H(时)、%M(分)、%S(秒)等参数,灵活适配日志、文件名等场景需求。
在Linux系统中,date
命令是管理和输出日期时间信息的重要工具,通过灵活使用格式控制符,用户可以根据需求自定义输出内容,本文将详细讲解date
命令的格式语法及实用场景,帮助您高效处理日期时间信息。
date命令的基本使用
直接在终端输入date
命令,默认输出系统当前日期和时间:
date # 输出示例:Thu Jul 25 15:30:45 CST 2025
自定义输出格式
通过符号结合格式控制符,可精确控制输出内容:
date +"格式化字符串"
常用格式控制符
符号 | 说明 | 示例输出 |
---|---|---|
%Y |
四位年份 | 2025 |
%y |
两位年份 | 24 |
%m |
两位月份(01-12) | 07 |
%d |
两位日期(01-31) | 25 |
%H |
24小时制小时(00-23) | 15 |
%M |
分钟(00-59) | 30 |
%S |
秒(00-59) | 45 |
%A |
完整星期名称 | Thursday |
%a |
缩写星期名称 | Thu |
%B |
完整月份名称 | July |
%b |
缩写月份名称 | Jul |
%Z |
时区名称 | CST |
实用示例
标准日期格式
date +"%Y-%m-%d %H:%M:%S" # 输出示例:2025-07-25 15:30:45
文件名时间戳
date +"backup_%Y%m%d_%H%M%S.tar.gz" # 输出示例:backup_20250725_153045.tar.gz
自然语言格式
date +"%A, %B %d %Y - %I:%M %p" # 输出示例:Thursday, July 25 2025 - 03:30 PM
高级用法
指定时区输出时间
TZ='America/New_York' date +"%Y-%m-%d %H:%M:%S %Z" # 输出示例:2025-07-25 03:30:45 EDT
计算相对时间
# 输出1小时后的时间 date -d "1 hour" +"%H:%M" # 输出示例:16:30 # 输出3天前的日期 date -d "3 days ago" +"%Y-%m-%d" # 输出示例:2025-07-22
常见问题
权限不足
若提示date: invalid date
,检查命令语法或使用sudo
提权。
格式符号无效
确保格式符字母大小写正确,例如%M
表示分钟,而%m
表示月份。
参考资料
- GNU Coreutils官方文档:Date Command
- Linux Man Page:date(1)手册
- Ubuntu社区Wiki:时间日期管理