linux shell date 日期格式轉換

2021-10-08 16:41:36 字數 1820 閱讀 7120

在shell環境裡,我們獲取時間的命令是date,但date出來的時間日期格式、內容可能不是我們所想要的,所以我們可能需要對它進行一些格式化輸出。

常用的時間域如下:

% y 年(例如:1970,2018等) 

% m 月(01..12)

% d 乙個月的第幾天(01..31)

% h 小時(00..23)

% m 分(00..59)

% s 秒(00..59)

使用不帶引數的date命令獲取當前時間日期。這樣得到的一般是cst標準格式的時間。

[alvin@vm_0_16_centos ~]$ date

sat nov 3 22:01:57 cst 2018

獲取特定以特定格式,命令為:date + 『format』,注意這裡大小寫敏感。

[alvin@vm_0_16_centos ~]$ date +'%y-%m-%d'

2018-11-03

[alvin@vm_0_16_centos ~]$ date +'%y/%m/%d %h:%m:%s'

2018/11/03 22:08:14

獲取昨天的日期。可在上述的命令裡再加上-d選項。

[alvin@vm_0_16_centos ~]$ date -d 'yesterday' +'%y/%m/%d %h:%m:%s'

2018/11/02 22:24:31

或者

[alvin@vm_0_16_centos ~]$ date -d 'today -1 day' +'%y-%m-%d' 

2018-11-04

獲取當前時間的前乙個小時

[alvin@vm_0_16_centos ~]$ date -d 'today -1 hour' +'%y%m%d%h'

2018110414

或者

[alvin@vm_0_16_centos ~]$ date +'%y-%m-%d %h:%m:%s' -d '-1 hours' 

2018-11-04 14:43:38

獲取指定日期前一天。這其實就是求相對時間。比如下面求國慶的前一天日期:

[alvin@vm_0_16_centos ~]$ date -d '20181001 -1 day' +'%y%m%d'

20180930

將日期轉換為時間戳

[alvin@vm_0_16_centos ~]$ date -d "nov  4 15:49:41 cst 2018" +%s

1541317781

將時間戳轉換回日期

[alvin@vm_0_16_centos ~]$ date -d @1541317781

sun nov 4 15:49:41 cst 2018

將時間戳轉換為日期,並按特定格式顯示

[alvin@vm_0_16_centos ~]$ date -d @1541317781 +'%y%m%d %h:%m:%s'
日期時間格式的轉換

將 mon jul 27 20:31:33 2020 轉換為  2020-07-27 20:31:33

[root@localhost ~]# date -d 'mon jul 27 20:31:33 2020' +'%y-%m-%d %h:%m:%s'

2020-07-27 20:31:33

linux shell date用法 計算昨天

比較不錯的功能,使用 d選項自動計算日期.date d 1 day y m d date d 2 day y m d 自動計算,並輸出為yyyymmdd格式 使用date命令轉換基礎時間秒為年月日 命令為 date d 1281161747 注意一定不要忘記符號 date 獲取當前時間 date d...

2007 09 22 日誌 轉折日

最近太忙了,忙到真的連看自己blog的時間都沒有了 更別提更新了 看著各種排名的全線飄綠 慘不忍睹,我的那個心啊,哇涼哇涼的啊 不過,忙碌的工作收穫也是巨大的 我們的團隊取得了驕人的成績!在此,我對團隊的每個成員表示衷心的感謝。我相信,中國的外包史上將銘刻這幾位同事的名字,他們是 成績歸成績,缺點也...

2007 09 22 日誌 轉折日

最近太忙了,忙到真的連看自己blog的時間都沒有了 更別提更新了 看著各種排名的全線飄綠 慘不忍睹,我的那個心啊,哇涼哇涼的啊 不過,忙碌的工作收穫也是巨大的 我們的團隊取得了驕人的成績!在此,我對團隊的每個成員表示衷心的感謝。我相信,中國的外包史上將銘刻這幾位同事的名字,他們是 成績歸成績,缺點也...