date命令總結

在linux中man手冊頁,對date -d 參數的的說明比較模糊,一下的舉例,進一步說明:

#-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 使用的權限:所有使用者。



使用方式:

date [-u][-d datestr] [-s datestr] [–utc]

[–universal][–date=datestr] [–set=datestr]

[–help][–version][+FORMAT][MMDDhhmm][[CC]YY][.ss]]

說明:

date 能用未顯示或設定的日期和時間,在顯示方面使用者能設定預顯示的格式,格式設定為一個加號后接數個標記,其中可用的標記數為如下:

格式:+(一個)后跟多個標記

時間方面

%    //印出

%n    //下一行

%t    //跳出

%H    //小時(00,01,……23)是雙數顯示24小時制

[root@localhost ~]# date +%H

19

[root@localhost ~]# 


%k    //小時(0,1,2,……23)是單數顯示24小時制

[root@localhost ~]# date +%k

19

[root@localhost ~]# 


%I    //小時(01,02,03……12)是雙數顯示12小時制

[root@localhost ~]# date +%I

07

[root@localhost ~]#

 

%l    //小時(1,2,3………12)是單數顯示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到目前為止的秒數

[root@localhost ~]# date +%s

1470138130

[root@localhost ~]# 


%T    //直接顯示時間(24小時制)

[root@localhost ~]# date +%T

19:42:57

[root@localhost ~]# 


%x    //相當于%H:%M:%s

[root@localhost ~]# date +%X    //大寫的X顯示時間

07:43:17 PM

[root@localhost ~]# date +%x

08/02/2016

[root@localhost ~]# 

%Z    //顯示時區

[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    //只顯示年份的后兩位數(00,01,…99)

[root@localhost ~]# date +%y

16

[root@localhost ~]# 


%Y    //完整的年份(0000,…….2016)

[root@localhost ~]# date +%Y

2016

[root@localhost ~]# 


如不以加號開頭“+”則表示要設置時間,而時間格式為 MMDDhhmm[[CC]YY][.ss]

其中MM為月份。 DD為日   hh為小時   mm為分鐘   CC為年份前兩位數字   YY為年份的后兩位數字

ss為秒數。


-d datestr //顯示datestr中所設置的時間(非系統時間)

–help     //顯示輔助信息

-s datestr //將系統時間設為datestr中說設定的時間

-u    //顯示目前的格林尼治時間

–version //顯示版本號


舉例:

  1. 顯示時間后,跳行然后再顯示日期: 

[root@localhost ~]# date +%T%n%x

19:52:31

08/02/2016

[root@localhost ~]# 


2. 顯示月份日數

[root@localhost ~]# date +%B%d

August02

[root@localhost ~]# 


3.顯示日期和設定時間(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 ~]# 


當我們不希望出現無意的0時,比如(1999/03/07)則能在標記中插入 “-”符號,比如說:date +%-H:%-M:%-S

舉例:原本顯示的是08:09:04 而變為 8:9:4


只有取得權限者(比如root)才能設定系統時間,我們應該注意,clock -w 來將系統時間寫入CMOS,這樣下次重新啟動開機時。系統時間才會持續保持最新的正確值。


ntp: 時間同步:

linux系統下默認安裝了ntp服務,手動進行ntp同步,如下:

ntpdate ntp 1.n1.net


date命令還可以獲得給定日期是星期幾?


舉例:

[root@localhost ~]# date -d "nov 22"

Tue Nov 22 00:00:00 CST 2016

[root@localhost ~]# 


練習:

相對于今天,兩個星期之后的日期

[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 ~]# 


還可以使用負數,以得到相反的日期

舉例:

相對于12月,14這個月前兩周的日期:

[root@localhost ~]# date -d 'dec 14 -2 weeks'

Wed Nov 30 00:00:00 CST 2016

[root@localhost ~]# 


原創文章,作者:NddTx99521,如若轉載,請注明出處:http://www.www58058.com/28995

(0)
NddTx99521NddTx99521
上一篇 2016-08-05
下一篇 2016-08-05

相關推薦

  • Linux終端類型

    前言 終端是一個很重要的外設,用過終端設備的人都知道如果設備類型不對就會有亂字符,也可用仿真終端軟件如netterm試驗一下,Linux的終端信息放在 /usr/share/terminfo下,在這個目錄的子目錄v下就有許多的如vt100,vt102,vt200等,看一下就知道了。 終端類型的區別與概念 1、 pty(虛擬終端): 但是如果我們遠程telne…

    Linux干貨 2016-10-14
  • 描述LVS的工作原理

    一、LVS結構   LVS由前端的負載均衡器(Load Balancer,LB)和后端的真實服務器(Real Server,RS)群組成。RS間可通過局域網或廣域網連接。LVS的這種結構對用戶是透明的,用戶只能看見一臺作為LB的虛擬服務器(Virtual Server),而看不到提供服務的RS群。當用戶的請求發往虛擬服務器,LB根據設定的包轉發策略和負載均衡…

    Linux干貨 2016-08-29
  • 上篇博客簡單提了一下Nginx配置文件的大體組成部分,這次來好好解釋一下這些個配置文件。 一、main配置段 分類:    正常運行必備的配置    優化性能相關的配置    用于調試及定位問題相關的配置   …

    Linux干貨 2016-10-26
  • ansible基礎應用

    ansible基礎 一、運維主要工作 ansible聚集以上功能于一身,能夠完整輕易的實現應用部署和批量命令功能,適用于主機數量不太多,再大的用puppet。 二、ansible特性 (1)模塊化:調用特定的模塊,完成特定任務; (2)基于python語言實現,由paramiko,PYYAML和JINJa2三個關鍵模塊組成 (3)部署簡單:agentless…

    Linux干貨 2017-01-04
  • 內核編譯及制作Linux系統

        用自己編譯的linux內核自己制作一個很簡單的啟動盤,能夠成功啟動且能有簡單的shell環境。     第一步:從內核官網www.kernel.org 下載相應的內核版本,現在到本地后,將它解壓(我是解壓到/usr/src目錄下),解壓后進入目錄。由于編譯的選項太多,為了…

    Linux干貨 2016-11-24
  • N25第5周作業(grep和find使用)

    顯示當前系統上root, fedora 或user1的默認shell 找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(); 使用echo命令輸出一個絕對路徑,使用grep取出基名,擴展取出其路徑名 找出IFCONIFG命令結果的1-255之間的數字 挑戰題:寫一個模式,能匹配出合理的IP地址 挑戰題…

    Linux干貨 2016-12-30
欧美性久久久久