Linux date命令詳解

2022-07-03 19:39:11 字數 4089 閱讀 7623

date: 用於顯示時間的命令

用法:date [選項]... [+格式]

或:date [-u|--utc|--universal] [mmddhhmm[[cc]yy][.ss]]

以給定的格式顯示當前時間,或是設定系統日期。

-d,--date=字串 顯示指定字串所描述的時間,而非當前時間

-f,--file=日期檔案 類似--date,從日期檔案中按行讀入時間描述

-r, --reference=檔案 顯示檔案指定檔案的最後修改時間

-r, --rfc-2822 以rfc 2822格式輸出日期和時間

例如:2023年8月7日,星期一 12:34:56 -0600

--rfc-3339=timespec 以rfc 3339 格式輸出日期和時間。

timespec=`date',`seconds',或 `ns'

表示日期和時間的顯示精度。

日期和時間單元由單個的空格分開:

2006-08-07 12:34:56-06:00

-s, --set=字串 設定指定字串來分開時間

-u, --utc, --universal 輸出或者設定協調的通用時間

--help 顯示此幫助資訊並退出

--version 顯示版本資訊並退出

給定的格式format 控制著輸出,解釋序列如下:

%% 乙個文字的 %

%a 當前locale 的星期名縮寫(例如: 日,代表星期日)

%a 當前locale 的星期名全稱 (如:星期日)

%b 當前locale 的月名縮寫 (如:一,代表一月)

%b 當前locale 的月名全稱 (如:一月)

%c 當前locale 的日期和時間 (如:2023年3月3日 星期四 23:05:25)

%c 世紀;比如 %y,通常為省略當前年份的後兩位數字(例如:20)

%d 按月計的日期(例如:01)

%d 按月計的日期;等於%m/%d/%y

%e 按月計的日期,新增空格,等於%_d

%f 完整日期格式,等價於 %y-%m-%d

%g iso-8601 格式年份的最後兩位 (參見%g)

%g iso-8601 格式年份 (參見%v),一般只和 %v 結合使用

%h 等於%b

%h 小時(00-23)

%i 小時(00-12)

%j 按年計的日期(001-366)

%k 時(0-23)

%l 時(1-12)

%m 月份(01-12)

%m 分(00-59)

%n 換行

%n 納秒(000000000-999999999)

%p 當前locale 下的"上午"或者"下午",未知時輸出為空

%p 與%p 類似,但是輸出小寫字母

%r 當前locale 下的 12 小時時鐘時間 (如:11:11:04 下午)

%r 24 小時時間的時和分,等價於 %h:%m

%s 自utc 時間 1970-01-01 00:00:00 以來所經過的秒數

%s 秒(00-60)

%t 輸出製表符 tab

%t 時間,等於%h:%m:%s

%u 星期,1 代表星期一

%u 一年中的第幾周,以週日為每星期第一天(00-53)

%v iso-8601 格式規範下的一年中第幾周,以周一為每星期第一天(01-53)

%w 一星期中的第幾日(0-6),0 代表周一

%w 一年中的第幾周,以周一為每星期第一天(00-53)

%x 當前locale 下的日期描述 (如:12/31/99)

%x 當前locale 下的時間描述 (如:23:13:48)

%y 年份最後兩位數字 (00-99)

%y 年份

%z +hhmm 數字時區(例如,-0400)

%:z +hh:mm 數字時區(例如,-04:00)

%::z +hh:mm:ss 數字時區(例如,-04:00:00)

%:::z 數字時區帶有必要的精度 (例如,-04,+05:30)

%z 按字母表排序的時區縮寫 (例如,edt)

預設情況下,日期的數字區域以0 填充。

以下可選標記可以跟在"%"後:

- (連字元)不填充該域

_ (下劃線)以空格填充

0 (數字0)以0 填充

^ 如果可能,使用大寫字母

# 如果可能,使用相反的大小寫

在任何標記之後還允許乙個可選的域寬度指定,它是乙個十進位制數字。

作為乙個可選的修飾宣告,它可以是e,在可能的情況下使用本地環境關聯的

表示方式;或者是o,在可能的情況下使用本地環境關聯的數字符號。

常用的符號

-f  輸出長格式字元年月日

date +%f  --> 2017-08-02

-y  輸出短格式字元

date +%y-%m-%d -->17-08-02

-h-m-s: 輸出時分秒

date +%y-%m-%d\ %h-%m-%s -->17-08-02 21-16-14

date +%y-%m-%d\ %h:%m:%s -->17-08-02 21:16:14

-h  輸出月份

-t: 直接時分秒

date +%f\ %t   --> 2017-08-02 21:18:14

-w: 顯示今天星期幾

date +%w    星期三

-d: 提前/推遲顯示天數

date +%f -d "-1day"   2017-08-01

date +%f               2017-08-02

date +%f -d "+1day"   2017-08-03

date +%f\ %h:%m:%s -d "+2hour 2min 2sec"      2017-08-02 23:40:49  -->提前2小時2分2秒

date +%f\ %h:%m:%s                                  2017-08-02 21:38:47

date +%f\ %h:%m:%s -d "-2hour -2min -2sec"      2017-08-02 19:36:45  -->推遲2小時2分2秒

顯示當前年月日時間

date +(%f %t)

date +%f\ %t # 效果同上

在設定時間方面:

date –s  01:01:01               //設定具體時間,不會對日期做更改

date -s '2018-07-07 10:50'   //這樣可以設定全部時間

時間加減:

date +%y%m%d\ %t -d "1hour" //這樣可以設定時間推遲乙個小時,前提是顯示的有小時

date +%y%m%d -d "1day"     //這樣可以設定時間推遲一天

date +%y%m%d --date="+1 day"  //顯示前一天的日期

date +%y%m%d --date="-1 day"  //顯示後一天的日期

1.本地修改

date -s "2017/07/30 18:39"

hwclock #同步時間到shell

2.同步網際網路時間

ntpdate time.windows.com (ntpdate是乙個內部的同步時間的**)

linux date 命令詳解

linux date 命令詳解 使用方式 date u d datestr s datestr utc universal date datestr set datestr help version format mmddhhmm cc yy ss 說明 date 可以用來顯示或設定系統的日期與時間...

linux date命令詳解

linux date 命令詳解 使用方式 date u d datestr s datestr utc universal date datestr set datestr help version format mmddhhmm cc yy ss 說明 date 可以用來顯示或設定系統的日期與時間...

Linux Date命令詳解

date命令的幫助資訊 root localhost source date help 用法 date 選項 格式 或 date u utc universal mmddhhmm cc yy ss 以給定的格式顯示當前時間,或是設定系統日期。d,date 字串 顯示指定字串所描述的時間,而非當前時間...