date命令:
以给定格式显示当前时间,或设置系统日期。
长选项的强制参数对于短选项也是必需的。
- -d、 --date=字符串 显示由字符串描述的时间,而不是“now”
- -f、 --file=DATEFILE 类似--date,从日期文件中读取每一行时间描述
- -r、 --reference=FILE 显示指定文件的最后修改时间
- -s、 --set=STRING 用字符串描述设置时间
- -u、 --utc,--universal 打印或设置协调世界时(utc)
格式控制输出。解释序列包括:
- %% 文字百分比
- %a 工作日缩写名称(例如Sun)
- %A 完整工作日名称(例如,Sunday)
- %b 缩写月份名称(例如,Aug)
- %B 完整月份名称(例如,August)
- %c 日期和时间(例如,Sun 09 Aug 2020 08:54:25 AM CST)
- %C 世纪;与%Y类似,但省略后两位数字(例如:2019显示20)
- %d 一个月中某日(例如:01)
- %D 日期;与%m/%D/%y相同
- %e 一个月中某日,空格填充;与%_d相同(例如: 1)
- %F 完整日期;与%Y-%m-%d相同
- %g ISO周编号年份的最后两位数字(例如:2019显示19)
- %G ISO周数的年份(类似%Y:2019);通常与%V一起用用
- %h 与b%相同
- %H 小时(00..23),24小时制
- %I 1小时(01..12),12小时制
- %j 每年的第几天(001..366)
- %m 月(01..12)
- %M 分钟(00..59)
- %n 换行
- %N 纳秒(000000000..999999999)
- %p locale相当于AM或PM;如果不知道,则为空
- %P 与%P相似,是小写显示
- %r 语言环境的12小时时钟时间(例如,11:11:04 PM)相当于 +‘%T %p‘
- %R 24小时制 小时:分钟;与%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 语言环境的日期表示(例如,08/10/2020)
- %X 语言环境的时间表示(例如,09:17:17 AM),类似%r
- %y 年份的最后两位数(00..99)
- %Y 年
- %z +hhmm数字时区(例如+0800)
- %:z +hh:mm数字时区(例如+08:00)
- %::z +hh:mm:ss数字时区(例如+08:00:00)
- %:::z 数字时区,精确到必需的精度(例如+08,+05:30)
- %Z 字母时区缩写(例如,CST)
默认情况下,日期用零填充数字字段。
“%”后面可能有以下可选标志:
- -(连字符)不要填充字段
- _(下划线)用空格填充
- 0(零)填充零
- ^如果可能,请使用大写
- #如果可能,使用相反的情况
范例1:
#date +"%Y-%m-%d %H:%M:%S"
#date +"%F %T"
2020-08-10 09:39:59
范例2:秒转换为具体时间格式
#date +%s
1597023733
#date -d @1597023733 +"%F %T"`
2020-08-10 09:42:13
范例3:设置系统时间
#date -s ‘2020-08-10 09:46:30‘
#hwclock -r 读取bios时间
hwclock -w 系统时间写入bios
范例4:一天前
#date -d ‘1 day ago‘ +‘%F %T‘
#date -d ‘-1 day‘ +‘%F %T‘
date
原文:https://blog.51cto.com/12233910/2518505