用法
date [OPTION]... [+FORMAT]
date
命令用于格式化显示当前时间,或用于设置系统时间。
本文仅介绍date
命令的显示格式化,故[OPTION]
为空,仅介绍[+FORMAT]
参数。
嫌内容太多可以直接看“常用案例”。
格式化
用+%****
的方式可将输出格式化,可选内容如下(常用高亮):
格式 | 输出内容 |
---|---|
%% | 输出% |
%a | 当地周几简写(e.g., Tue, 二) |
%A | 当地周几全称(e.g., Tuesday, 星期二) |
%b | 当地月份简写(e.g., Jan, 1月) |
%B | 当地月份全称(e.g., January, 一月) |
%c | 当地日期和时间(e.g., Tue 17 Jan 2023 02:22:34 PM CST, 2023年01月17日 星期二 14时22分34秒) |
%C | 世纪;与%Y类似,但忽略后两位数字(e.g., 20) |
%d | 月中的第几日(e.g., 01) |
%D | 日期;等同于%m/%d/%y |
%e | 月中的第几日,用空格填充;等同于%_d |
%F | 完整日期;等同于%Y-%m-%d |
%g | ISO周数的年的后两位(详见%G) |
%G | ISO周数的年(详见%V);一般和%V共用(如2023-01-01虽是23年,但这周仍是22年的,22年最后一周) |
%h | 等同于%b |
%H | 小时(24h制)(00..23) |
%I | 小时(12h制)(01..12) |
%j | 一年中的第几天(001..366) |
%k | 小时(24h制),用空格填充(00..23);等同于%_H |
%l | 小时(12h制),用空格填充(01..12);等同于%_I |
%m | 月份(01..12) |
%M | 分钟(00..59) |
%n | 换行符 |
%N | 微秒(000000000..999999999) |
%p | 当地上/下午(e.g., AM, PM, 上午, 下午) |
%P | 与%p类似,但为小写 |
%q | 季度(1..4) |
%r | 当地12h制时间(e.g., 02:22:34 PM, 下午 02时22分34秒) |
%R | 24h制的时分;等同于%H:%M |
%s | 秒时间戳(从1970-01-01 00:00:00 UTC起的秒数) |
%S | 秒(00..60) |
%t | 制表符 |
%T | 时间;等同于%H:%M:%S |
%u | 一周中的第几天(1..7);1是周一 |
%U | 一年中的周数,以周日为一周之首(00..53) |
%V | ISO周数,以周一为一周之首(01..53) |
%w | 一周中的第几天(0..6);0是周日 |
%W | 一年中的周数,以周一为一周之首(00..53) |
%x | 当地日期表示(e.g., 2023年01月17日, 01/17/2023) |
%X | 当地时间表示(e.g., 14时22分34秒, 02:22:34 PM) |
%y | 年份最后2位数字(00..99) |
%Y | 年份 |
%z | +hhmm数字格式的时区(e.g., +0800) |
%:z | +hh:mm数字格式的时区(e.g., +08:00) |
%::z | +hh:mm:ss数字格式的时区(e.g., +08:00:00) |
%:::z | 用:分隔数字格式时区到必要精度(e.g., +08, -05:30) |
%Z | 时区字母简写(e.g., CST) |
格式化填充方法(默认的数值字段填充方法是用0填充):
格式 | 填充方法 |
---|---|
- | (短横)不填充 |
_ | (下划线)用空格填充 |
0 | (零)用0填充 |
^ | 尽可能用大写 |
# | 尽可能用相反大小写 |
常用案例
date '+%F %T'
输出:2023-01-17 14:22:34
date '+%F %T.%3N'
输出:2023-01-17 14:22:34.123
date '+%Y-%m-%d %H:%M:%S'
输出:2023-01-17 14:22:34