用法:date [选项]... [+格式]
-d,--date=字符串 显示指定字符串所描述的时间,而非当前时间
-f,--file=日期文件 类似--date,从日期文件中按行读入时间描述
-r, --reference=文件 显示文件指定文件的最后修改时间
-R, --rfc-2822 以RFC 2822格式输出日期和时间
例如:2006年8月7日,星期一 12:34:56 -0600
给定的格式FORMAT 控制着输出,解释序列如下:
%a | 当前locale 的星期名缩写(例如: 日,代表星期日) | date -d "@1444569742" "+%a" | 二 |
%A | 当前locale 的星期名全称 (如:星期日) | date -d "@1444569742" "+%A" | 星期二 |
%b | 当前locale 的月名缩写 (如:1月,代表一月) | date -d "@1444569742" "+%b" | 10月 |
%B | 当前locale 的月名全称 (如:一月) | date -d "@1444569742" "+%B" | 十月 |
%c | 当前locale 的日期和时间 (如2015年10月13日 星期二 21时22分22秒) | date -d "@1444569742" "+%c" | 2015年10月13日 星期二 21时22分22秒 |
%C | 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20) | date -d "@1444569742" "+%C" | 20 |
%d | 按月计的日期(例如:01) | date -d "@1444742542" "+%d" | 13 |
%D | 按月计的日期;等于%m/%d/%y(如10/13/15) | date -d "@1444742542" "+%D" | 10/13/15 |
%e | 按月计的日期,添加空格,等于%_d | date -d "@1444742542" "+%e" | 13 |
%F | 完整日期格式,等价于 %Y-%m-%d | date -d "@1444742542" "+%F" | 2015-10-13 |
%g | ISO-8601 格式年份的最后两位 (参见%G) | ||
%G | ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用 | ||
%h | 等于%b | date -d "@1444742542" "+%h" | 10月 |
%H | 小时(00-23) | date -d "@1444742542" "+%H" | 21 |
%I(i的大写) | 小时(00-12) | date -d "@1444742542" "+%I" | 09 |
%j | 按年计的日期(001-366) | date -d "@1444742542" "+%j" | 286 |
%k | hour, space padded ( 0..23); same as %_H | date -d "@1444742542" "+%k" | 21 |
%l(L的小写) | hour, space padded ( 1..12); same as %_I | date -d "@1444742542" "+%l" | 9 |
%m | month (01..12) | date -d "@1444742542" "+%m" | 10 |
%M | minute (00..59) | date -d "@1444742542" "+%M" | 22 |
%n | 换行 | ||
%N | 纳秒(000000000-999999999) | ||
%p | 当前locale 下的"上午"或者"下午",未知时输出为空 | date -d "@1444742542" "+%p" | 下午 |
%P | 与%p 类似,但是输出小写字母 | date -d "@1444742542" "+%P" | 下午 |
%r | 当前locale 下的 12 小时时钟时间 (如:11:11:04 下午) | date -d "@1444742542" "+%r" | 下午 09时22分22秒 |
%R | 24 小时时间的时和分,等价于 %H:%M | date -d "@1444742542" "+%R" | 21:22 |
%s | 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 | date -d "@1444742542" "+%s" | 1444742542 |
%S | 秒(00-60) | date -d "@1444742542" "+%S" | 22 |
%t | 输出制表符 Tab | ||
%T | 时间,等于%H:%M:%S | date -d "@1444742542" "+%T" | 21:22:22 |
%u | 星期,1 代表星期一 | date -d "@1444742542" "+%u" | 2 |
%U | 一年中的第几周,以周日为每星期第一天(00-53) | date -d "@1444742542" "+%U" | 41 |
%V | ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53) | ||
%w | 一星期中的第几日(0-6),0 代表周一 | date -d "@1444742542" "+%w" | 2 |
%W | 一年中的第几周,以周一为每星期第一天(00-53) | date -d "@1444742542" "+%W" | 41 |
%x | 当前locale 下的日期描述 (如:12/31/99) | date -d "@1444742542" "+%x" | 2015年10月13日 |
%X | 当前locale 下的时间描述 (如:23:13:48) | date -d "@1444742542" "+%X" | 21时22分22秒 |
%y | 年份最后两位数位 (00-99) | date -d "@1444742542" "+%y" | 15 |
%Y | 年份 | date -d "@1444742542" "+%Y" | 2015 |
默认情况下,日期的数字区域以0 填充。The following optional flags may follow '%':
- (hyphen) do not pad the field
_ (underscore) pad with spaces
0 (zero) pad with zeros
^ use upper case if possible
# use opposite case if possible
将时间戳转换成日期
1 zhaoyn@dev:~/test/perl$ date "+%Y-%m-%d %H:%M:%S" --date="@1444569742" 2 2015-10-11 21:22:22 3 zhaoyn@dev:~/test/perl$ date -d "@1444569742" "+%Y-%m-%d %H:%M:%S" 4 2015-10-11 21:22:22