顯示或設置系統時間和日期
date [options] [+format]
date [options] [new date]
?
date用來顯示系統的時間和日期,超級用戶可以使用date來更改系統時鐘
?
選項
%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)
?
示例
格式化輸出
date +"%Y-%m-%d" 2009-12-07
加減操作
date +%Y%m%d //顯示前天年月日 date -d "+1 day" +%Y%m%d //顯示前一天的日期 date -d "-1 day" +%Y%m%d //顯示后一天的日期 date -d "-1 month" +%Y%m%d //顯示上一月的日期 date -d "+1 month" +%Y%m%d //顯示下一月的日期 date -d "-1 year" +%Y%m%d //顯示前一年的日期 date -d "+1 year" +%Y%m%d //顯示下一年的日期
設定時間
date -s //設置當前時間,只有root權限才能設置,其他只能查看 date -s 20120523 //設置成20120523,這樣會把具體時間設置成空00:00:00 date -s 01:01:01 //設置具體時間,不會對日期做更改 date -s "01:01:01 2012-05-23" //這樣可以設置全部時間 date -s "01:01:01 20120523" //這樣可以設置全部時間 date -s "2012-05-23 01:01:01" //這樣可以設置全部時間 date -s "20120523 01:01:01" //這樣可以設置全部時間
有時檢查一組命令花費的時間
#!/bin/bash start=$(date +%s) nmap man.linuxde.net &> /dev/null end=$(date +%s) difference=$(( end - start )) echo $difference seconds.
?生產常用案例
?
tar zcvf /tmp/back_$(date +%F).tar.gz /etc/services 每天備份一個包
?