date命令
用于顯示當(dāng)前的系統(tǒng)時(shí)間或設(shè)置系統(tǒng)時(shí)間。
date [選項(xiàng)] +[日期格式]
date命令的參數(shù)選項(xiàng)及說明
OPTION參數(shù)選項(xiàng)
-d 時(shí)間字符串 顯示指定字符串所描述的時(shí)間,而非當(dāng)前時(shí)間
-f 時(shí)間文件 從日期文件中按行讀入時(shí)間描述
-r 文件 顯示指定文件的最后修改時(shí)間
–s 日期時(shí)間 設(shè)置系統(tǒng)時(shí)間
-u 顯示或設(shè)置UTC時(shí)間
FORMAT日期格式
%% 輸出字符%
%a 星期名縮寫(Tue代表星期二)
%A 星期名全稱(Tuesday代表星期二)
%b 月名縮寫(Aug代表八月)
%B 月名全稱(August代表八月)
%c 日期和時(shí)間(Tue 18 Aug 201502:28:22 PM CST)
%C 世紀(jì)
%d 每月的第幾天
%D 等于%m/9%d/%y(08/18/15)
%e 每月的第幾天
%F 完整日期格式,等價(jià)于%Y-%m-%d(2015-08-18)
%g 年份的最后兩位數(shù)字(15)
%G 年份(2015)
%h 月名縮寫,等于%b
%H 24小時(shí)制(00–23)
%I 12小時(shí)制(00–12)
%j 一年的第幾天(001–366)
%k 24小時(shí)制(0–23),格式和%H不同
%l 12小時(shí)制(1–12)
%m 月份(01–12)
%M 分(00–59)
%n 換行
%N 納秒(000000000–999999999)
%p “上午”或“下午”,未知時(shí)輸出為空(AM/PM)
%P 與%p類似,但是輸出的是小寫字母(am/pm)
%r 當(dāng)前時(shí)區(qū)下的12小時(shí)制時(shí)間(02:30:27PM)
%R 24小時(shí)制的時(shí)和分,等價(jià)于%H:%M(14:30)
%s 自UTC時(shí)間1970–01–0100:00:00以來所經(jīng)過的秒數(shù)(1439879439)
%S 秒(00–60)
%t 輸出刺表符Tab
%T 時(shí)間,等于%H:%M:%S(14:30:50)
%u 星期,1代表星期一
%U 一年中的第幾周,以周日為每星期的第一天(00–53)
%V ISO-8601格式規(guī)范下一年中的第幾周,以周一為每星期的第一天(01–53)
%w 一星期中的第幾日(0–6),0代表周一
%W 一年中的第幾周,以周一為每星期的第一天(00–53)
%x 日期(08/18/2015)
%X 時(shí)間(02:31:29PM)
%y 年份的最后兩位(00..99)
%Y 年份2015
%z 時(shí)區(qū)+0800
%:z 時(shí)區(qū)+08:00
%::z 時(shí)區(qū)+08:00:00
%:::z 時(shí)區(qū)+08
%Z 字母格式時(shí)區(qū)(CST)
常用時(shí)間格式測試
[root@cs6-mini ~]# date +%y
19
[root@cs6-mini ~]# date +%Y
2019
[root@cs6-mini ~]# date +%m
05
[root@cs6-mini ~]# date +%d
15
[root@cs6-mini ~]# date +%H
15
[root@cs6-mini ~]# date +%M
14
[root@cs6-mini ~]# date +%S
54
[root@cs6-mini ~]# date +%F
2019–05–15
[root@cs6-mini ~]# date +%T
15:15:08
通過參數(shù)-d顯示指定字符串所描述的時(shí)間示例
[root@cs6-mini ~]# date +%F -d “-1day”
2019-05-14
[root@cs6-mini ~]# date +%F -d “yesterday”
2019-05-14
[root@cs6-mini ~]# date +%F -d “-2day”
2019-05-13
[root@cs6-mini ~]# date +%F -d “+1day”
2019-05-16
[root@cs6-mini ~]# date +%F -d “tomorrow”
2019-05-16
[root@cs6-mini ~]# date +%F -d “+2day”
2019-05-17
[root@cs6-mini ~]# date +%F -d “1month”
2019-06-15
[root@cs6-mini ~]# date +%F -d “1year”
2020-05-15
這里的+號(hào)表示未來,-號(hào)表示過去,day表示日,year表示年,month表示月。
[root@cs6-mini ~]# date +%F -d “24hour”
2019-05-16
[root@cs6-mini ~]# date +%F -d “12324min”
2019-05-24
[root@cs6-mini ~]# date +%F -d “-123min”
2019-05-15
這里的hour表示小時(shí),min表示分。
時(shí)間格式轉(zhuǎn)換例子
[root@cs6-mini ~]# date -d “Thu Jul 6 21:41:16 CST 2019” “+%Y-%m-%d %H:%M:%S”
2019–07–06 21:41:16
[root@cs6-mini ~]# vi time_test.log
[root@cs6-mini ~]# cat time_test.log
Sat May 19 13:40:02 CST 2015 is 13213213
Sat May 19 19:37:43 CST 2015 is 1012122
Sat May 19 12:40:03 CST 2015 is 13213213
sat May 19 19:37:42 CST 2015 is 1012122
Sat May 19 13:40:03 CST 2015 is 13213213
Sat May 19 19:37:03 CST 2015 is 1012122
[root@cs6-mini ~]# awk -F “is” ‘{print “echo $(date -d \””$1″\” \”+%F %T\”)”,$2}’ time_test.log
echo $(date -d “Sat May 19 13:40:02 CST 2015 “ “+%F %T”) 13213213
echo $(date -d “Sat May 19 19:37:43 CST 2015 “ “+%F %T”) 1012122
echo $(date -d “Sat May 19 12:40:03 CST 2015 “ “+%F %T”) 13213213
echo $(date -d “sat May 19 19:37:42 CST 2015 “ “+%F %T”) 1012122
echo $(date -d “Sat May 19 13:40:03 CST 2015 “ “+%F %T”) 13213213
echo $(date -d “Sat May 19 19:37:03 CST 2015 “ “+%F %T”) 1012122
[root@cs6-mini ~]# awk -F “is” ‘{print “echo $(date -d \””$1″\” \”+%F %T\”)”,$2}’ time_test.log |bash
2015–05–19 13:40:02 13213213
2015–05–19 19:37:43 1012122
2015–05–19 12:40:03 13213213
2015–05–19 19:37:42 1012122
2015–05–19 13:40:03 13213213
2015–05–19 19:37:03 1012122
通過參數(shù)-s設(shè)定時(shí)間
[root@cs6-mini ~]# date -s 20170505
Fri May 5 00:00:00 CST 2017
[root@cs6-mini ~]# date
Fri May 5 00:00:01 CST 2017
[root@cs6-mini ~]# date -s “00:12:23”
Fri May 5 00:12:23 CST 2017
[root@cs6-mini ~]# date -s “00:12:23 20190304”
Mon Mar 4 00:12:23 CST 2019
[root@cs6-mini ~]# date -s “00:12:23 2019-03-04”
Mon Mar 4 00:12:23 CST 2019
[root@cs6-mini ~]# date -s “00:12:23 2019/03/04”
Mon Mar 4 00:12:23 CST 2019
顯示時(shí)間后換行,再顯示日期。
[root@cs6-mini ~]# date +%T%n%D
00:13:08
03/04/19
[root@cs6-mini ~]# date +%D
03/04/19