date 根据给定格式显示日期或设置系统日期时间。print or set the system date and time
指令所在路径:/bin/date
命令语法:
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
命令参数:
参数 |
描述 |
-d |
显示字符串描述的时间 |
-f |
显示DATEFILE文件中的每行时间 |
-r |
显示文件的最后修改时间 |
-R |
以RFC-2822兼容日期格式显示时间 |
-rfc-2822 |
以RFC-2822兼容日期格式显示时间 |
-s |
设置时间为string |
-u |
显示或设定为Coordinated Universal Time时间格式 |
--help |
显示date命令的帮助信息 |
--version |
显示date命令的版本信息 |
Format参数格式
要说写这位程序的 David MacKenzie老兄,真是事无巨细啊,居然整了这么多格式参数,佩服佩服。
参数 |
描述 |
%% |
显示字符% |
%a |
星期几的缩写(Sun..Sat) |
%A |
星期几的完整名称(Sunday...Saturday) |
%b |
月份的缩写(Jan..Dec) |
%B |
月份的完整名称(January..December) |
%c |
日期与时间。只输入date指令也会显示同样的结果 |
%C |
世纪(年份除100后去整) [00-99] |
%d |
日期(以01-31来表示)。 |
%D |
日期(含年月日)。 |
%e |
一个月的第几天 ( 1..31) |
%F |
日期,同%Y-%m-%d |
%g |
年份(yy) |
%G |
年份(yyyy) |
%h |
同%b |
%H |
小时(00..23) |
%I |
小时(01..12) |
%j |
一年的第几天(001..366) |
%k |
小时( 0..23) |
%l |
小时( 1..12) |
%m |
月份(01..12) |
%M |
分钟(00..59) |
%n |
换行 |
%N |
纳秒(000000000..999999999) |
%p |
AM or PM |
%P |
am or pm |
%r |
12小时制时间(hh:mm:ss [AP]M) |
%R |
24小时制时间(hh:mm) |
%s |
从00:00:00 1970-01-01 UTC开始的秒数 |
%S |
秒(00..60) |
%t |
制表符 |
%T |
24小时制时间(hh:mm:ss) |
%u |
一周的第几天(1..7); 1 表示星期一 |
%U |
一年的第几周,周日为每周的第一天(00..53) |
%V |
一年的第几周,周一为每周的第一天 (01..53) |
%w |
一周的第几天 (0..6); 0 代表周日 |
%W |
一年的第几周,周一为每周的第一天(00..53) |
%x |
日期(mm/dd/yy) |
%X |
时间(%H:%M:%S) |
%y |
年份(00..99) |
%Y |
年份 (1970…) |
%z |
RFC-2822 风格数字格式时区(-0500) |
%Z |
时区(e.g., EDT), 无法确定时区则为空 |
用法:
1、命令参数的用法
kissness$ date -r 重点摘录.txt
2019年 8月27日 星期二 16时27分49秒 CST
2、格式参数的用法
输出 年月日/时分秒
kissness$ echo `date +%F/%H:%M:%S/`
2019-11-08/22:43:57/