在使用date命令輸出日期時間時,通過格式字串可以指定日期時間的格式。根據格式字串中格式說明符的作用可分為以下幾類。
%a:當前區域設定下星期的縮寫,如「sun」、「mon」。
%a:當前區域設定下星期的全拼,如「sunday」、「monday」。
%b:當前區域設定下月份的縮寫,如「jan」、「feb」。
%b:當前區域設定下月份的全拼,如「january」、「february」。
%c:當前區域設定下的日期和時間,如「sat 19 jan 2019 05:51:45 pm cst」。
%c:世紀,類似%y,只是最後兩個數字被省略了,如%y為2019,則%c為20。
%d:一月中的那一天,如「19」、「05」。
%d:日期,等效於「%m/%d/%y」(美國格式),如「01/19/19」。
%e:一月中的那一天,空格填充,等效於「%_d」,如「19」、「 5」。
%f:iso 8601格式的完整日期,等效於「%y-%m-%d」,如「2019-01-19」。對於日期格式,這是乙個很好的選擇,因為它是標準的,並且在年份範圍為0000…9999的通常情況下很容易排序。
%g:iso週數對應的不包含世紀的年份(00-99),等效於「%y」,除非iso週數屬於前一年或後一年,則使用前一年或後一年。
%g:iso週數對應的年份(0000-9999),等效於「%y」,除非iso週數屬於前一年或後一年,則使用前一年或後一年。格式「%g-%m-%d」有可能是錯誤的,因為它將iso週數的年與傳統的月和日結合在了一起。
%h:等效於「%b」。
%j:一年中的天數(001-366)。
%m:月份(01-12)。
%u:星期的天數(1-7),1是周一。
%u:週數(00-53), 週日為一周的第一天。新年第乙個星期日之前的幾天是第零周。
%v:iso週數(01-53),周一為一周的第一天。如果包含1月1日的一周在新的一年裡有四天或四天以上,則認為這週是第一周,否則就是前一年的第53周,下一周是新年的第一周。
%w:星期的天數(0-6),0是週日。
%w:週數(00-53),周一為一周的第一天。新年第乙個星期一之前的幾天是第零周。
%x(小寫):按當前區域設定下的日期格式,如「01/19/2019」。
%y:年份的後兩位(00-99)。
%y:年份。
%h:時(00-23)。
%i(大寫i):時(01-12)。
%k:時,空格填充( 0-23),等效於「%_h」,是gnu擴充套件。
%l(小寫l):時,空格填充( 0-12),等效於「%_i」,是gnu擴充套件。
%m:分(00-59)。
%n:納秒(000000000-999999999),是gnu擴充套件。
%p:本地區域設定下等價於「am」或「pm」,在許多地區是空字串。中午視為「pm」,午夜視為「am」。
%p:與%p一樣,只不過是小寫的,是gnu擴充套件。
%r:本地區域設定下12小時制時間,如11:11:20 pm。
%r:24小時制的時和分,等效於「%h%m」,如「23:12」。
%s:從utc時間紀元起的秒數,除非有閏秒支援,否則不計算閏秒,是gnu擴充套件。
%s:秒(00-60),如果支援閏秒則可能為60。
%t:24小時制的時分秒,等效於「%h:%m:%s」。
%x:(大寫):按當前區域設定下的日期格式,如「10:53:24 pm」。
%z(小寫):四位數字表示的時區,如「+0800」。如果時區不確定則為「-0000」。此值為使用tz環境變數指定的時區規則。時區規則可以被-d(--date)選項覆蓋。
%:z(小寫):帶「:」的數字時區。如「+08:00」。如果時區不確定則為「-00:00」,是gnu擴充套件。
%::z(小寫):帶「:」的精確到秒的數字時區。如「+08:00:00」。如果時區不確定則為「-00:00:00」,是gnu擴充套件。
%:::z(小寫):帶「:」的使用最小必要精度的時區。如「+08」、「+08:30:20」。如果時區不確定則為「-00」,是gnu擴充套件。
%z(大寫):按字母順序排列的時區縮寫。如「cst」。如果時區不確定則返回空字串。
%%:字元「%」。
%n:換行符。
%t:製表符。
除非另外指定否則,date通常用0填充數字,比如數字月份總是輸出兩個數字。做為gnu擴充套件,date可以識別「%」後面的以下標記:
-(連字型大小):不進行填充。
_(下劃線):填充空格。
0:填充0。
^:如果可能的話,使用大寫字元。
#:如果可能的話,使用大小寫相反的字元(大寫變小寫,小寫變大寫)。
可以在任意標記之後說明符之前加上乙個數字來指定域的寬度,如果輸出域的自然長度小於指定的域寬度,會自動填充左側到指定長度。比如「%10a」,輸出為「 mon」,長度為10,左側被空格填充。通常在不指定填充符的情況下,如果輸出格式為純數字會用0填充,如果包含非數字字元,則用空格填充。數字時區例外,數字時區中雖然包含「+」、「-」或「:」,但依然會用0填充,且是填充在「+」、「-」號之後。
此外,在標記和寬度後面可以跟乙個可選修飾符,修飾符有兩個:
e:如果可以,使用本地區域設定下的替代表示。此修飾符適用於轉換修飾符「%c」、「%c」、「%x」、「%x」、「%y」和「%y」。
o:如果可以,使用本地區域設定下的數字符號。此修飾符適用於數值的轉換修飾符。
如果格式支援修飾符,但是沒有可替代的表示,則會忽略修飾符。
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...
Linux date 顯示設定時間命令學習
概要 date命令的功能是顯示和設定系統日期和時間 命令格式 date option format date u utc universal mmddhhmm cc yy ss 引數 d string 顯示由 string 描述的日期 s string 設定由 string 描述的日期 y 年 例如...
linux date命令時間戳和時間之間的轉換
非常多時候我們檢視資料庫的資料,或者是一些別人系統中的資料須要用時間戳來查詢。或者查詢出來的結果是個時間戳。這裡是在mac下的操作。主要就是用date這個命令,很多其它的使用方法用man命令檢視 我們知道date 命令能夠直接把當前時間轉化為時間戳 date s 1436781527然後這裡我們把自...