Linux下Shell日期的格式

2021-09-11 19:04:51 字數 1695 閱讀 6855

不管是哪種語言,日期/時間都是乙個非常重要的值。比如我們儲存日誌的時候,往往是某個字首再加上當前時間,這樣日誌檔名稱就可以做到唯一。在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'

20181104 15:49:41

LINUX下的shell指令碼 shell簡介篇

什麼是shell?1.shell是linux的一外殼,它包在linux核心的外面,為使用者和核心之間的互動提供了乙個介面 2.當使用者下達指令給作業系統的時候,實際上是把指令告訴shell,經過shell解釋,處理後讓核心做出相應的動作 3.系統的回應和輸出的資訊也由shell處理,然後顯示在使用者...

Linux下的shell程式設計

前提 shell環境pdksh和bash ubuntu下預設的shell環境是bash 語法篇 一 變數 1.變數分為三種型別 環境變數 內部變數和使用者變數 其中環境變數和內部變數不需要使用者定義,可以直接使用。環境變數 由系統定義,使用者不需要定義但可以改變變數的值。內部變數 由系統提供的一種特...

Linux下shell的使用

linux 常見問題1000個詳細解答 1 shell基本引數 cat etc shells 系統提供的shell位置 bsh csh ksh bash 改變root使用者的shell環境 chsh 改變普通使用者的shell環境 more etc passwd 檢視所有使用者的shell環境 2 ...