Linux date日期格式及加減運算

2021-06-20 23:08:33 字數 4811 閱讀 3164

顯示時間是個常用的命令,在寫shell指令碼中也經常會用到與日期相關檔名或時間顯示。無論是linux還是windows下都是date命令。

linux下date命令用法

date命令引數

date命令輸出顯示格式

以下是做的一些實驗,便於理解01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

$ date -d "2010-11-15 23:00:01"

mon nov 15 23:00:01 pst 2010

$ date -d "2010/11/15 23:0:2"

mon nov 15 23:00:02 pst 2010

$ date -d "2010/11/15t23:0:2"

mon nov 15 08:00:02 pst 2010

$

$ echo "2010-11-15 23:00:01" > date.txt

$ echo "2010/11/15 23:00:02" >> date.txt

$ cat date.txt

2010-11-15 23:00:01

2010/11/15 23:00:02

$ date -f date.txt

mon nov 15 23:00:01 pst 2010

mon nov 15 23:00:02 pst 2010

$

$ ls -l

total 4

-rw-r--r-- 1 znan sybase    40 nov 15 21:14 date.txt

$ date -r date.txt

mon nov 15 21:14:36 pst 2010

$

$ date -i

2010-11-15

$ date -ihours

2010-11-15t21-0800

$ date -iminutes

2010-11-15t21:16-0800

$ date -iseconds

2010-11-15t21:16:24-0800

$

$ date -r

mon, 15 nov 2010 21:47:08 -0800

$ date -u

tue nov 16 05:47:13 utc 2010

$

$ date +"today is %a."

today is monday.

$ date +"date:%b. %e, %g"

date:nov. 15, 2010

$ date +"date: %b.%e, %g"

date: nov.15, 2010

$ date +"%x %x"

11/15/2010 09:50:21 pm

$ date +"%y-%m-%d %h:%m:%s"

2010-11-15 21:51:32

$ date +"%y-%m-%d %i:%m:%s %p"

2010-11-15 09:51:55 pm

------------------------------------

linux date 常用時間格式

date=$(date "+%y-%m-%d___%h:%m:%s")

echo date

2012-08-16___05:52:20

date "+%y-%m-%d"

2012-08-16

------------------------------------

linux date 日期加減運算

date            // 預設時間格式

thu aug 16 05:42:38 utc 2012

date +"

%b %e, %g

"            // 定製格式

aug 16, 2012

date +"%b %e, %g" -d'

-1 day

'date -d'-

1 day

' +"%b %e, %g"    // 減一天(加一天類似)

aug 15, 2012

date +"%b %e, %g" -d'

+1 month

'date -d'+1 month' +"%b %e, %g" 

// 加一月(減一月類似)

sep 16, 2012

date +"%y年%m月%d日"

2023年08月20日

date +"%y年%m月%d日" -d'

-1 day

'    // 同上面加減1天(或加減1月)

2023年

08月19日

date +"%y年%-

m月%d日"     // %

-m去除月份對其的

零2023年

8月20日

------------------------------------

ubuntu 修改系統時間

sudo date -s mm/dd/yy

sudo date -s hh:mm:ss

注意,這裡說的是系統時間,是linux由作業系統維護的。

在系統啟動時,linux作業系統將時間從cmos中讀到系統時間變數中,以後修改時間通過修改系統時間實現。為了保持系統時間與cmos時間的一致性,linux每隔一段時間會將系統時間寫入cmos。由於該同步是每隔一段時間(大約是11分鐘)進行的,在我們執行date -s後,如果馬上重起機器,修改時間就有可能沒有被寫入cmos,這就是問題的原因。

如果要確保修改的硬體時間生效,可以執行如下命令。

sudo dwclock -w 

或 sudo clock -w

(ubuntu下有時候無法用clock -w 沒有這個命令 如果沒有就 使用這個hwclock -w

)這個命令強制把系統時間寫入cmos。

檢視硬體時間

sudo hwclock --show

$ sudo hwclock --show

thursday, august 16, 2012 pm04:46:32 utc  -0.664019 seconds

每次啟動虛擬機器後,ubuntu10.10的時間都不合適,發現需要這樣設定:

系統–>系統管理–>時間和日期

時區選擇:asia/chongqing

配置選擇:與網際網路伺服器保持同步

(這時提示需要安裝名稱為ntp的軟體,安裝即可,安裝後提示要替換乙個檔案,選擇「替換「)

時間伺服器選擇:time.nuri.net(korea,asia)

檢視檔案命令:

ls -l 

和ls -l --time-style=long-iso 

linux date命令日期時間輸出格式

在使用date命令輸出日期時間時,通過格式字串可以指定日期時間的格式。根據格式字串中格式說明符的作用可分為以下幾類。a 當前區域設定下星期的縮寫,如 sun mon a 當前區域設定下星期的全拼,如 sunday monday b 當前區域設定下月份的縮寫,如 jan feb b 當前區域設定下月份...

linux date 日期 時間

2,在linux中,用data檢視時間的時候顯示 2008年 12月 17日 星期三 09 04 14 cst 這個cst是什麼意思呢?cst china standard time utc 8 00 中國沿海時間 北京時間 1.檢視當前時區 date r 2.修改設定時區 方法 1 tzselec...

Oracle 獲取當前日期及日期格式

oracle 獲取當前日期及日期格式 獲取系統日期 sysdate 格式化日期 to char sysdate yy mm dd hh24 mi ss 或 to date sysdate yy mm dd hh24 mi ss 格式化數字 to number 注 to char 把日期或數字轉換為字...