例題:使用date命令輸出“xxxx-xx-xx”格式的日期,如2015-03-01。
#date +%Y-%m-%d 2015-03-0 #date +%F 2015-02-28
1.date命令可以實現多種格式輸出,這取決於表示符號(如%Y)之間的連接符號:
# date +%Y/%m/%d 2015/02/28 # date +%H:%M 00:54
2.date命令主要選項:
-d:在使用man date查看-d選項描述較爲模糊,(-d, --date=STRING display time described by STRING, not ‘now’),實際使用-d表示過去、未來的時間:
# date -d next-day +%Y-%m-%d #明天日期 2015-03-01 # date -d last-day +%Y-%m-%d #昨天日期 2015-02-27
更爲簡單的方法是在-d 後接+nday或-nday,n爲數字,如3天后爲+3day;同樣小時使用+nhour、-nhour,分鐘使用+nmin、-nmin。
# date -d +3day Sat Mar 7 16:10:37 CST 2015
3.date命令時間字符表示說明:
時間方面 :
% : 印出
%n : 下一行
%t : 跳格
%H : 小時 01
%I : 小時 01
%k : 小時 1
%l : 小時 1
%M : 分鐘 17
%p : 顯示本地 AM 或 PM(上午、下午)
%r : 直接顯示時間 (12 小時制,格式爲hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00UTC 到目前爲止的秒數
%S : 秒
%T : 直接顯示時間 (24 小時制 01:18:50)
%X : 時間顯示 01時19分09秒
%Z : 顯示時區 CST
日期方面 :
%a : 星期幾 (Sun,Sat)
%A : 星期幾(Sunday,Saturday)
%b : 月份 (Jan,Dec)
%B : 月份(January,December)
%c : 直接顯示日期和時間(Sat Feb 28 01:22:34 2015)
%d : 日 (31)
%D : 直接顯示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第幾天 (001,366)
%m : 月份,以數字 (01,12)
%U : 一年中的第幾周 (00,53) (以 Sunday 爲一週的第一天的情形)
%w : 星期,以數字表示 (6)
%W : 一年中的第幾周 (00,53) (以 Monday 爲一週的第一天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最後兩位數字 (00,99)
%Y : 完整年份 (0000,9999)
4.修改時間
若是不以加號作爲開頭,則表示要設定時間,而時間格式爲 MMDDhhmm[[CC]YY][ss],
其中 MM 爲月份,
DD 爲日,
hh 爲小時,
mm 爲分鐘,
CC 爲年份前兩位數字,
YY 爲年份後兩位數字,
ss 爲秒數
# date 03041605 Wed Mar 4 16:05:00 CST 2015
使用date –s:按字符串方式修改時間
可以只修改日期,不修改時間:
date -s 2015-03-04 Wed Mar 4 00:00:00 CST 2015
只修改時間:
# date -s 16:20:00 Wed Mar 4 16:20:00 CST 2015
同時修改日期時間,注意要加雙引號,日期與時間之間有一空格,輸入:
# date -s "2015-03-04 16:22:00" Wed Mar 4 16:22:00 CST 2015
其它說明:
當你不希望出現無意義的 0 時(比如說 2005/03/01),則能在標記中插入 - 符號,比如說 date +%-H:%-M:%-S 會把時分秒中無意義的 0 給去掉,像是原本的 01:09:04 會變爲 1:9:4。
另外,只有取得權限者(比如說 root)才能設定系統時間。當你以 root 身分更改了系統時間之後,請記得以 clock -w 來將系統時間寫入 CMOS 中,這樣下次重新開機時系統時間纔會持續抱持最新的正確值。