date命令的总结
在linux中man手冊頁,對date -d 參數(shù)的的說明比較模糊,一下的舉例,進(jìn)一步說明:
#-d --date=STRING display time described by STRING not 'now'
命令:
date -d nex-day +%Y%m%d????//明天日期
date -d tommorw +%Y%m%d?????//明天日期
date -d last-day +%Y%m%d????//昨天日期
date -d yesterday +Y%m%d????//昨天日期
date -d last-month +%Y%m????//上個月日期
date -d next-month +%Y%m????//下個月的日期
date -d next-year +%Y????//明年日期
DATE=$(date +%Y%m%d --date '2 days ago')?????//獲取昨天或多天前的日期
date 使用的權(quán)限:所有使用者。
使用方式:
date [-u][-d datestr] [-s datestr] [--utc]
[--universal][--date=datestr] [--set=datestr]
[--help][--version][+FORMAT][MMDDhhmm][[CC]YY][.ss]]
說明:
date 能用未顯示或設(shè)定的日期和時間,在顯示方面使用者能設(shè)定預(yù)顯示的格式,格式設(shè)定為一個加號后接數(shù)個標(biāo)記,其中可用的標(biāo)記數(shù)為如下:
格式:+(一個)后跟多個標(biāo)記
時間方面:
%????//印出
%n????//下一行
%t????//跳出
%H????//小時(00,01,......23)是雙數(shù)顯示24小時制
[root@localhost ~]# date +%H
19
[root@localhost ~]#?
%k ? ?//小時(0,1,2,......23)是單數(shù)顯示24小時制
[root@localhost ~]# date +%k
19
[root@localhost ~]#?
%I????//小時(01,02,03......12)是雙數(shù)顯示12小時制
[root@localhost ~]# date +%I
07
[root@localhost ~]#
?
%l????//小時(1,2,3.........12)是單數(shù)顯示12小時制
[root@localhost ~]# date +%l
?7
[root@localhost ~]#?
%M????//分鐘(00,01,........59)
[root@localhost ~]# date +%M
39
[root@localhost ~]#?
%p????//顯示本地AM,PM
[root@localhost ~]# date +%P
pm
[root@localhost ~]# date +%p
PM
[root@localhost ~]#?
%r????//直接顯示時間(12小時制,格式為hh:mm:ss[AP]M)
[root@localhost ~]# date +%r
07:40:43 PM
[root@localhost ~]#?
[root@localhost ~]# date +%R
19:41
%s????//從1970年一月一日00:00:00 UTC到目前為止的秒數(shù)
[root@localhost ~]# date +%s
1470138130
[root@localhost ~]#?
%T????//直接顯示時間(24小時制)
[root@localhost ~]# date +%T
19:42:57
[root@localhost ~]#?
%x????//相當(dāng)于%H:%M:%s
[root@localhost ~]# date +%X????//大寫的X顯示時間
07:43:17 PM
[root@localhost ~]# date +%x
08/02/2016
[root@localhost ~]#?
%Z????//顯示時區(qū)
[root@localhost ~]# date +%z
+0800
[root@localhost ~]#?
[root@localhost ~]# date +%Z
CST
[root@localhost ~]#?
日期方面:
%a????//簡寫星期幾(sun,.....sat)
[root@localhost ~]# date +%a
Tue
[root@localhost ~]#?
%A????//完整星期幾(sunday,...saturday)
[root@localhost ~]# date +%A
Tuesday
[root@localhost ~]#?
%b????//簡寫月份(jun,.......Dec)
[root@localhost ~]# date +%b
Aug
[root@localhost ~]#?
%B????//完整的月份(january,.....december)
[root@localhost ~]# date +%B
August
[root@localhost ~]#?
%C????//直接顯示日期和時間
[root@localhost ~]# date +%C
20
[root@localhost ~]#?
%d????//日(01,02,......31)
[root@localhost ~]# date +%d
02
[root@localhost ~]#?
%D????//直接顯示日期(mm/dd/yy)
[root@localhost ~]# date +%D
08/02/16
[root@localhost ~]#?
%h????//同%b
[root@localhost ~]# date +%h
Aug
[root@localhost ~]#?
%j????//一年中第幾天(001,002,.....366)
[root@localhost ~]# date +%j
215
[root@localhost ~]#?
%m????//月份(01,02,......12)
[root@localhost ~]# date +%m
08
[root@localhost ~]#?
%U????//一年中第幾周(00,01.....53)(以Sunday為一周的第一天)
[root@localhost ~]# date +%U
31
[root@localhost ~]#?
%w????//一周中的第幾天
[root@localhost ~]# date +%w
2
[root@localhost ~]#?
%W????//一年中的第幾周(00,01....53)(以monday為一周的第一天)
[root@localhost ~]# date +%W
31
[root@localhost ~]#?
%x????//直接顯示日期(mm/dd/yy)
[root@localhost ~]# date +%x
08/02/2016
[root@localhost ~]#?
%y????//只顯示年份的后兩位數(shù)(00,01,...99)
[root@localhost ~]# date +%y
16
[root@localhost ~]#?
%Y????//完整的年份(0000,.......2016)
[root@localhost ~]# date +%Y
2016
[root@localhost ~]#?
如不以加號開頭“+”則表示要設(shè)置時間,而時間格式為 MMDDhhmm[[CC]YY][.ss]
其中MM為月份。 DD為日 ? hh為小時 ? mm為分鐘 ? CC為年份前兩位數(shù)字 ? YY為年份的后兩位數(shù)字
ss為秒數(shù)。
-d datestr //顯示datestr中所設(shè)置的時間(非系統(tǒng)時間)
--help ?? ?//顯示輔助信息
-s datestr //將系統(tǒng)時間設(shè)為datestr中說設(shè)定的時間
-u????//顯示目前的格林尼治時間
--version //顯示版本號
舉例:
顯示時間后,跳行然后再顯示日期:?
[root@localhost ~]# date +%T%n%x
19:52:31
08/02/2016
[root@localhost ~]#?
2. 顯示月份日數(shù)
[root@localhost ~]# date +%B%d
August02
[root@localhost ~]#?
3.顯示日期和設(shè)定時間(12:34:56)
[root@localhost ~]# date
Tue Aug ?2 20:08:17 CST 2016
[root@localhost ~]# clock
Tue 02 Aug 2016 08:08:23 PM CST ?-0.923671 seconds
[root@localhost ~]# date;date -s 12:34:56
Tue Aug ?2 20:08:37 CST 2016
Tue Aug ?2 12:34:56 CST 2016
[root@localhost ~]#?
當(dāng)我們不希望出現(xiàn)無意的0時,比如(1999/03/07)則能在標(biāo)記中插入 “-”符號,比如說:date +%-H:%-M:%-S
舉例:原本顯示的是08:09:04 而變?yōu)?8:9:4
只有取得權(quán)限者(比如root)才能設(shè)定系統(tǒng)時間,我們應(yīng)該注意,clock -w 來將系統(tǒng)時間寫入CMOS,這樣下次重新啟動開機(jī)時。系統(tǒng)時間才會持續(xù)保持最新的正確值。
ntp: 時間同步:
linux系統(tǒng)下默認(rèn)安裝了ntp服務(wù),手動進(jìn)行ntp同步,如下:
ntpdate ntp 1.n1.net
date命令還可以獲得給定日期是星期幾?
舉例:
[root@localhost ~]# date -d "nov 22"
Tue Nov 22 00:00:00 CST 2016
[root@localhost ~]#?
練習(xí):
相對于今天,兩個星期之后的日期
[root@localhost ~]# date -d '2 weeks'
Tue Aug 16 20:21:34 CST 2016
[root@localhost ~]#?
下周一的日期
[root@localhost ~]# date -d 'next monday'
Mon Aug ?8 00:00:00 CST 2016
[root@localhost ~]#?
明天的日期
[root@localhost ~]# date -d 'last-day'
Mon Aug ?1 20:22:48 CST 2016
[root@localhost ~]#?
或
[root@localhost ~]# date -d tomorrow
Wed Aug ?3 20:25:11 CST 2016
[root@localhost ~]#?
上月是幾月
[root@localhost ~]# date -d last-month +%Y%m%d
20160702
[root@localhost ~]#?
下月是幾月
[root@localhost ~]# date -d next-month +%Y%m%d
20160902
[root@localhost ~]#
?
昨天的日期
[root@localhost ~]# date -d last-day +%Y%m%d
20160801
[root@localhost ~]#
30天前的日期 ? ? ? ? ? //使用ago可以看到過去的日期
[root@localhost ~]# date -d '30 days ago'
Sun Jul ?3 20:28:05 CST 2016
[root@localhost ~]#?
還可以使用負(fù)數(shù),以得到相反的日期
舉例:
相對于12月,14這個月前兩周的日期:
[root@localhost ~]# date -d 'dec 14 -2 weeks'
Wed Nov 30 00:00:00 CST 2016
[root@localhost ~]#?
轉(zhuǎn)載于:https://blog.51cto.com/11857750/1833691
總結(jié)
- 上一篇: getOutputStream() ha
- 下一篇: centos 6.5配置samba