[b] date命令是顯示或設置系統時間與日期。 [/b][b] (1)用法:[/b]
[b] 用法: date [選項] [參數][/b][b] (2)功能:[/b]
[b] 功能: 根據指定格式顯示當前時間或設置系統時間[/b]很多shell腳本裡面需要打印不同格式的時間或日期,以及要根據時間和日期執行操作。延時通常用於腳本執行過程中提供一段等待的時間。日期可以以多種格式去打印,也可以使用命令設置固定的格式。在類UNIX系統中,日期被存儲為一個整數,其大小為自世界標准時間(UTC)1970年1月1日0時0分0秒起流逝的秒數。
[b] (3)選項參數:[/b] 1) <+時間日期格式>: 指定顯示時使用的日期時間格式;
2) -d<字符串>: 顯示字符串所指的日期與時間,字符串前後必須加上雙引號;3) -s<字符串>: 根據字符串來設置日期與時間;(不用加引號)
[b] (4)實例:[/b] 1)[root@localhost Document]# date -s 20160530 設置日期和時間(只有root權限才能設置,其他只能查看)
[root@localhost Document]# date -s 20160530 2016年 05月 30日 星期一 00:00:00 PDT [root@localhost Document]# date -s 09:00:00 2016年 05月 30日 星期一 09:00:00 PDT2)[root@localhost Document]# date 查看當前時間
[root@localhost Document]# date 2016年 05月 30日 星期一 09:01:05 PDT3)[root@localhost Document]# date 0819150511 第二種設置日期和時間的方式
[root@localhost Document]# date 0819150511 2011年 08月 19日 星期五 15:05:00 PDT [root@localhost Document]# date 0530080016 2016年 05月 30日 星期一 08:00:00 PDT4)[root@localhost Document]# date +%m%d%H%M%S 第二種顯示日期的方式
[root@localhost Document]# date +%m%d%H%M%S 0530080137 [root@localhost Document]# date +%y%m%d%H%M%S 1605300801585)[root@localhost Document]# date -d "+1 day" +"%y/%m/%d" 顯示經過加減法過後的日期
[root@localhost Document]# date -d "1 day ago" +"%Y-%m-%d" //等價於date -d "-1 day ago" +"%Y-%m-%d" 2016-05-29 [root@localhost Document]# date -d "1 day ago" +"%y-%m-%d" 16-05-29 [root@localhost Document]# date -d "1 month ago" +"%y/%m/%d" 16/04/30 [root@localhost Document]# date -d "+1 day" +"%y/%m/%d" 16/05/31 [root@localhost Document]# date -d "+1 month" +"%y-%m-%d" 16-06-306)[root@localhost Document]# date -s "2016-05-30 09:10:10" 同時設置日期和時間
[root@localhost Document]# date -s "2016-05-30 09:10:10" 2016年 05月 30日 星期一 09:10:10 PDT [root@localhost Document]# date -s "20160530 09:10:10" 2016年 05月 30日 星期一 09:10:10 PDT [root@localhost Document]# date -s "09:00:00 20160530" 2016年 05月 30日 星期一 09:00:00 PDT [root@localhost Document]# date -s "09:00:00 2016/05/30" 2016年 05月 30日 星期一 09:00:00 PDT [root@localhost Document]# date -s "09:00:00 2016-05-30" 2016年 05月 30日 星期一 09:00:00 PDT7)格式轉換後時間游走:
[root@localhost Document]# date -d "Nov 5, 2018 09:00:00 AM 2 year ago" +"%Y-%m-%d %H:%M.%S" 2016-11-05 09:00.00 [root@localhost Document]# date -d "Oct 30, 2018 09:10:00 AM 2 month ago" +"5Y-%m-%d %H:%M" 5Y-08-30 09:10 [root@localhost Document]# date -d "Oct 30, 2018 09:10:00 AM 2 month ago" +"%Y-%m-%d %H:%M" 2018-08-30 09:108)[root@localhost Document]# echo $diff seconds 記錄命令花費的時間
[root@localhost Document]# start=$(date +%s) [root@localhost Document]# ls /home |more -10 sunjimeng [root@localhost Document]# end=$(date +%s) [root@localhost Document]# diff=$((end-start)) [root@localhost Document]# echo $diff seconds 40 seconds[b] (5)日期格式字符串列表[/b]
%H 小時,24小時制(00~23) %I 小時,12小時制(01~12)
%k 小時,24小時制(0~23) %l 小時,12小時制(1~12)
%M 分鐘(00~59) %p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p) %s 從1970年1月1日00:00:00到目前經歷的秒數
%S 顯示秒(00~59) %T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S) %Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat) %A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec) %B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012) %d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy) %j 一年的第幾天(001~366)
%m 月份(01~12) %w 一個星期的第幾天(0代表星期天)
%W 一年的第幾個星期(00~53,星期一為第一天) %y 年的最後兩個數字(1999則是99)
月份的英文表示: 【January】 【February】 【March】 【April】 【May】 【June】 【July】 【August】 【September】 【October】 【November】 【December 】