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