Linux命令格式date
Linux命令格式date详细介绍
在 Linux 中,date 命令用于显示或设置系统的日期和时间。以下是其常用格式和用法:
基本语法
bash
选项 +格式字符串
常用选项
| 选项 | 说明 |
|---|---|
-d <时间描述> |
显示指定时间(非当前时间),例如 date -d "1 hour ago" 显示 1 小时前的时间 |
-s <时间> |
设置系统时间(需管理员权限),例如 sudo date -s "2025-04-14 12:34:56" |
-u |
显示 UTC(协调世界时)时间,而非本地时间 |
--rfc-3339=date/time |
按 RFC 3339 标准格式输出日期 / 时间(如 2025-04-14T15:30:00+08:00) |
格式字符串(核心部分)
通过 + 后跟格式符自定义输出格式,常用格式符如下:
时间部分
| 格式符 | 说明 | 示例(2025-04-14 15:30:45) |
|---|---|---|
%Y |
四位数年份 | 2025 |
%y |
两位数年份 | 25 |
%m |
两位数月份(01-12) | 04 |
%b |
月份缩写(Jan-Dec) | Apr |
%B |
月份全称(January-December) | April |
%d |
两位数日期(01-31) | 14 |
%H |
24 小时制小时(00-23) | 15 |
%I |
12 小时制小时(01-12) | 03 |
%M |
分钟(00-59) | 30 |
%S |
秒(00-59) | 45 |
%p |
上 / 下午(AM/PM) | PM |
星期与时区
| 格式符 | 说明 | 示例(2025-04-14 是星期一) |
|---|---|---|
%a |
星期缩写(Mon-Sun) | Mon |
%A |
星期全称(Monday-Sunday) | Monday |
%z |
时区偏移(+0800) | +0800(北京时间) |
%Z |
时区名称(如 CST) | CST |
其他常用格式
| 格式符 | 说明 | 示例 |
|---|---|---|
%s |
自 Unix epoch(1970-01-01)以来的秒数 | 1712945445 |
%c |
本地标准日期时间格式 | Mon 14 Apr 2025 15:30:45 CST |
%F |
简洁日期格式(% Y-% m-% d) | 2025-04-14 |
%T |
简洁时间格式(% H:% M:% S) | 15:30:45 |
示例
- 显示当前日期时间(默认格式)
bash - 自定义格式:年月日(YYYY-MM-DD)
bash+ - 显示精确到秒的完整时间(YYYY-MM-DD HH:MM:SS)
bash+ - 显示 UTC 时间
bash+ - 显示星期和月份全称
bash+ - 计算时间差(例如:1 小时前的时间)
bash+ - 设置系统时间(需管理员权限)
bash
注意事项
- 格式字符串需用双引号包裹,否则特殊符号(如
%)可能被 shell 解析。 - 设置时间时,
-s选项的参数需符合YYYY-MM-DD HH:MM:SS或MM/DD/YYYY HH:MM:SS等格式。 - 时区由系统配置决定,可通过
timedatectl命令查看或修改时区。
通过组合不同的格式符,可灵活输出符合需求的日期和时间格式,常用于日志命名、脚本时间戳等场景。