date 命令可以显示和设置系统的时间和日期
语法
date 选项... (格式)
只命令date的结果:
关于date的选项详见--help
date命令可以通过给定时间格式来控制输出的时间格式
给定的格式FORMAT 控制着输出,解释序列如下:
%% 一个文字的 %
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
%b 当前locale 的月名缩写 (如:一,代表一月)
%B 当前locale 的月名全称 (如:一月)
%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d 按月计的日期(例如:01)
%D 按月计的日期;等于%m/%d/%y
%e 按月计的日期,添加空格,等于%_d
%F 完整日期格式,等价于 %+4Y-%m-%d
%g ISO-8601 格式年份的最后两位(参见 %G)
%G ISO-8601 格式年份(参见 %V),一般只和 %V 结合使用
%h 等于%b
%H 小时(00-23)
%I 小时(00-12)
%j 按年计的日期(001-366)
%k 小时,空格补充空白位( 0..23);与 %_H 相同
%l 小时,空格补充空白位( 1..12);与 %_I 相同
%m 月份(01..12)
%M 分钟(00..59)
%n 换行
%N 纳秒(000000000..999999999)
%p 当前地区时间设置中 AM 或 PM 的等效值(“上午”或“下午”),未知则为空
%P 类似 %p,但使用小写
%q 一年中的季度(1..4)
%r 当前地区时间中十二小时制钟表时间(例如,下午 11时11分04秒)
%R 24 小时制的时间和分钟;和 %H:%M 相同
%s 1970-01-01 00:00:00 UTC 以来的秒数
%S 秒(00-60)
%t 输出制表符 Tab
%T 时间,等于%H:%M:%S
%u 星期,1 代表星期一
%U 一年中的第几周,以周日为每星期第一天(00-53)
%V ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
%w 一星期中的第几日(0-6),0 代表周一
%W 一年中的第几周,以周一为每星期第一天(00-53)
%x 当前locale 下的日期描述 (如:12/31/99)
%X 当前locale 下的时间描述 (如:23:13:48)
%y 年份最后两位数位 (00-99)
%Y 年份
%z +hhmm 数字时区(例如,-0400)
%:z +hh:mm 数字时区(例如,-04:00)
%::z +hh:mm:ss 数字时区(例如,-04:00:00)
%:::z 数字时区带有必要的精度 (例如,-04,+05:30)
%Z 按字母表排序的时区缩写 (例如,EDT)
值得一提的是,若要输出以 年/月/日 时:分:秒 这样的格式输出
命令不能是
linux系统对于空格这玩意相当敏感,正确的写法为
这次成功输出了,当前秒数是%S不是%s所以这里出错了
linux中与时间相关的命令还有另一个
timedatectl
可以通过 set-time 调整当前时间
在调整之前需要先关闭ntp服务,也就是自动校对时间,通过
来关闭
可以通过set-timezone来换时区,如
timedatectl set-timezone Asia/Shanghai