掌握Shell命令date的使用方法:轻松查看系统日期和时间
最编程
2024-08-03 07:26:22
...
(1)如果date命令后面不加任何参数,则会按照固定的格式显示时间信息:
星期几 月份 日 时:分:秒 时区 年
xjh@ubuntu:~/iot/tmp$ date
Fri Mar 3 16:56:48 CST 2023
xjh@ubuntu:~/iot/tmp$
(2)使用者也可以根据自己的需求,来设定显示的格式,设置显示格式的方式如下。
date +以%开头的控制标志
当这些控制标志之间存在空格时,需要使用双引号把它们括起来,如下所示。
date +"以%开头的控制标志"
xjh@ubuntu:~/iot/tmp$ date +%H #以“时”的形式显示当前时间
16
xjh@ubuntu:~/iot/tmp$ date +%H:%M #以“时:分”的形式显示当前时间
16:56
xjh@ubuntu:~/iot/tmp$ date +%H:%M:%S #以“时:分:秒”的形式显示当前时间
16:56:57
xjh@ubuntu:~/iot/tmp$ date +%H:%M %S #控制标志之间存在空格时,需要使用双引号包围
date: 额外的操作数 "%S"
Try 'date --help' for more information.
xjh@ubuntu:~/iot/tmp$ date +"%H:%M %S"
17:06 44
xjh@ubuntu:~/iot/tmp$
(3)常用的控制标志与含义如下表所示。
xjh@ubuntu:~/iot/tmp$ date
Fri Mar 3 17:25:50 CST 2023
xjh@ubuntu:~/iot/tmp$
控制标志 | 含义 | 举例(输入"date +控制标志"之后的输出) |
日期方面 | ||
%a | 星期几 (Sun..Sat) | Fri |
%A | 星期几 (Sunday..Saturday) | Friday |
%b | 月份 (Jan..Dec) | Mar |
%B | 月份 (January..December) | March |
%c | 直接显示日期与时间 | Fri 03 Mar 2023 05:28:48 PM CST |
%d | 日(01…31) | 03 |
%D | 直接显示日期(月/日/年) | 03/03/23 |
%h | 同%b | Mar |
%j | 一年中的第几天 (001..366) | 062 |
%m | 月份 (01..12) | 03 |
%U | 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形) | 09 |
%w | 一周中的第几天 (0..6) | 5 |
%W | 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形) | 09 |
%x | 直接显示日期,和%D一样? | 03/03/2023 |
%y | 年份的最后两位数字 (00…99) | 23 |
%Y | 完整年份(0000……9999) | 2023 |
时间方面 | ||
%H | 小时(00..23) | 17 |
%I(大写i) |
小时(01..12) | 05 |
%k | 小时(0..23) | 17 |
%M | 分钟(00..59) | 42 |
%p | 显示本地 AM 或 PM | pm |
%r | 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) | 05:43:29 PM |
%s | 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 | 1677836662 |
%S | 秒(00..61) | 39 |
%T | 直接显示时间 (24 小时制) | 17:45:05 |
%X | 与%r相同? | 05:45:35 PM |
%Z | 显示时区 | CST |
其他内容 | ||
%n | 下一行 | 比如date +%T%n%D,会显示时间后跳行,再显示目前日期。 19:52:52 |
(4)可以把无意义的0去掉,比如1999/03/07中03与07前面的0,在控制标记中插入“-”即可。
xjh@ubuntu:~/iot/tmp$ date +%H:%M:%S
08:04:11
xjh@ubuntu:~/iot/tmp$ date +%-H:%-M:%-S
8:4:21
xjh@ubuntu:~/iot/tmp
(5)如何利用date显示以前的时间呢? 使用-d选项,如下所示。
xjh@ubuntu:~/iot/tmp$ date -d "-2 day" "+%Y%m%d %A"
20230301 Wednesday
xjh@ubuntu:~/iot/tmp$ date -d "-2 day" +"%Y%m%d %A"
20230301 Wednesday
xjh@ubuntu:~/iot/tmp$ date -d "-1 day" "+%Y%m%d %A"
20230302 Thursday
xjh@ubuntu:~/iot/tmp$ date -d "-0 day" "+%Y%m%d %A"
20230303 Friday
xjh@ubuntu:~/iot/tmp$ date -d "1 day" "+%Y%m%d %A"
20230304 Saturday
xjh@ubuntu:~/iot/tmp$ date -d "2 day" "+%Y%m%d %A"
20230305 Sunday
xjh@ubuntu:~/iot/tmp$ date -d "-1 month" "+%Y%m%d %A"
20230203 Friday
xjh@ubuntu:~/iot/tmp$ date -d "1 month" "+%Y%m%d %A"
20230403 Monday
xjh@ubuntu:~/iot/tmp$ date --date="2 days ago" "+%Y%m%d %A"
20230301 Wednesday
xjh@ubuntu:~/iot/tmp$
上一篇: Linux新手必看:date命令使用教程
下一篇: 深入解析date命令的使用方法