1、格林威治時間就是時間協調時間(GMT=UTC),格林威治時間和UTC時間均用秒數來計算的。
2、date命令可以藉助於-u參數來查看UTC或者GMT時間 。
❷ date的linux命令
名稱 : date
使用許可權 : 所有使用者
使用方式 :
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
說明 :
date 可以用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加號後接數個標記,其中可用的標記列表如下 :
時間方面 :
% : 印出 %
%n : 下一行
%t : 跳格
%H :小時(0..23)
%I : 小時(01..12)
%k : 小時(0..23)
%M : 分鍾(0..59)
%p : 顯示本地時段「上午」或 「下午」
%r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數
%S : 秒(00..61)
%T : 直接顯示時間 (24 小時制)
%X : 相當於 %H:%M:%S
%Z : 顯示時區
日期方面 :
%a : 星期幾 (Mon..Sun)
%A : 星期幾 (Monday..Sunday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接顯示日期與時間
%d : 日 (01..31)
%D : 直接顯示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第幾天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)
%w : 一周中的第幾天 (0..6)
%W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最後兩位數字 (00.99)
%Y : 完整年份 (0000..9999)
若是不以加號作為開頭,則表示要設定時間,而時間格式為 MMDDhhmm[[CC]YY][.ss],其中 MM 為月份,DD 為日,hh 為小時,mm 為分鍾,CC 為年份前兩位數字,YY 為年份後兩位數字,ss 為秒數
把計 :
-d datestr : 顯示 datestr 中所設定的時間 (非系統時間)
--help : 顯示輔助訊息
-s datestr : 將系統時間設為 datestr 中所設定的時間
-u : 顯示目前的格林威治時間
--version : 顯示版本編號
例子 :
顯示時間後跳行,再顯示目前日期 :
date +%T%n%D
顯示月份與日數 :
date +%B %d
顯示日期與設定時間(12:34:56) :
date --date 12:34:56
注意 :
當你不希望出現無意義的 0 時(比如說 1999/03/07),則可以在標記中插入 - 符號,比如說 date +%-H:%-M:%-S 會把時分秒中無意義的 0 給去掉,像是原本的 08:09:04 會變為 8:9:4。另外,只有取得許可權者(比如說 root)才能設定系統時間。
當你以 root 身份更改了系統時間之後,請記得以 clock -w 來將系統時間寫入 CMOS 中,這樣下次重新開機時系統時間才會持續抱持最新的正確值。
❸ Linux下的date命令究竟可以干什麼
因為有個Bash腳本,想根據用戶給的日期參數(yyyymmdd格式),得到這個日期的前一天的表示。首先想到的就是date命令,網上搜了一大把,其實多數都是互相抄的,date基本用法原本就會,不能用來解決我的問題。
先說不用date命令的方法:
不嫌麻煩就多用幾個判斷,解決每月開頭、每年開頭減去一天的問題,最麻煩的是倒推到上個月最後一天,這一天究竟是28、29還是30、31,還得寫個函數。
再說date的基本用法:
date +%Y%m%d 這是格式化輸出,其他語言多數叫做strftime()
date -d "2 days ago" +%s -d可以輸入一個日期,不過大多是相對於現在時間,+%s是輸出時間戳。
date -d "2010-12-06" +%F -d可以接受ISO格式yyyy-mm-ddTHH:MM:SSZ,也可以接受日期的一些英文格式(月份英文縮寫) %F就是%Y%m%d
接著搜到的我不知道的格式用法,當然對我的問題沒有幫助:
格式字元中加-可以去掉前面的0,加_把前面的0變成一個空格,舉例:date +%-Y%-m%-d 是 2010-12-6 (6前面的0去掉了) date +%_Y%_m%_d 是 2010-12- 6 (6前面有一個空格)
最後是謎底,date可以接受的特殊-d參數:
date -d "1970-01-01 UTC 1291622912 seconds" +%s 在前面的日期上面加上這么多秒作為輸入。在我的腳本中這么用的:
❹ Linux怎樣修改系統時間
使用「date -s」命令來修改系統時間
比如將系統時間設定成2007年8月1日的命令如下。
[root@localhost root]# date -s 08/01/2005
將系統時間設定成下午5點10分0秒的命令如下。
[root@localhost root]# date -s 17:10:00
這里說的是系統時間,是linux由操作系統維護的。
在系統啟動時,Linux操作系統將時間從CMOS中讀到系統時間變數中,以後修改時間通過修改系統時間實現。為了保持系統時間與CMOS時間的一致性,Linux每隔一段時間會將系統時間寫入CMOS。由於該同步是每隔一段時間(大約是11分鍾)進行的,在我們執行date -s後,如果馬上重起機器,修改時間就有可能沒有被寫入CMOS,這就是問題的原因。
如果要確保修改生效可以執行如下命令。
[root@localhost root]# clock -w
或者
[root@localhost root]# hwclock
這個命令強制把系統時間寫入CMOS。
***************************************************************************
Linux時鍾的分類
Windows時鍾大家可能十分熟悉了,Linux時鍾在概念上類似Windows時鍾顯示當前系統時間,但在時鍾分類和設置上卻和Windows大相徑庭。和Windows不同的是,Linux將時鍾分為系統時鍾(System Clock)和硬體(Real Time Clock,簡稱RTC)時鍾兩種。系統時間是指當前Linux Kernel中的時鍾,而硬體時鍾則是主板上由電池供電的那個主板硬體時鍾,這個時鍾可以在BIOS的「Standard BIOS Feture」項中進行設置。
既然Linux有兩個時鍾系統,那麼大家所使用的Linux默認使用哪種時鍾系統呢?會不回出現兩種系統時鍾沖突的情況呢?這些疑問和擔心不無道理。首先,Linux並沒有默認哪個時鍾系統。當Linux啟動時,硬體時鍾會去讀取系統時鍾的設置,然後系統時鍾就會獨立於硬體運作。
從Linux啟動過程來看,系統時鍾和硬體時鍾不會發生沖突,但Linux中的所有命令(包括函數)都是採用的系統時鍾設置。不僅如此,系統時鍾和硬體時鍾還可以採用非同步方式,見圖1所示,即系統時間和硬體時間可以不同。這樣做的好處對於普通用戶意義不大,但對於Linux網路管理員卻有很大的用處。例如,要將一個很大的網路中(跨越若干時區)的伺服器同步,假如位於美國紐約的Linux伺服器和北京的Linux伺服器,其中一台伺服器無須改變硬體時鍾而只需臨時設置一個系統時間,如要將北京伺服器上的時間設置為紐約時間,兩台伺服器完成文件的同步後,再與原來的時鍾同步一下即可。這樣系統和硬體時鍾就提供了更為靈活的操作。
設置Linux的時鍾
在Linux中,用於時鍾查看和設置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不過clock命令除了支持x86硬體體系外,還支持Alpha硬體體系。由於目前絕大多數用戶使用x86硬體體系,所以可以視這兩個命令為一個命令來學習。
1.在虛擬終端中使用date命令來查看和設置系統時間
查看系統時鍾的操作:
# date
設置系統時鍾的操作:
# date 091713272003.30
通用的設置格式:
# date 月日時分年.秒
2.使用hwclock或clock命令查看和設置硬體時鍾
查看硬體時鍾的操作:
# hwclock --show 或
# clock --show
2003年09月17日 星期三 13時24分11秒 -0.482735 seconds
設置硬體時鍾的操作:
# hwclock --set --date="09/17/2003 13:26:00"
或者
# clock --set --date="09/17/2003 13:26:00"
通用的設置格式:hwclock/clock --set --date=「月/日/年 時:分:秒」。
3.同步系統時鍾和硬體時鍾
Linux系統(筆者使用的是Red Hat 8.0,其它系統沒有做過實驗)默認重啟後,硬體時鍾和系統時鍾同步。如果不大方便重新啟動的話(伺服器通常很少重啟),使用clock或hwclock命令來同步系統時鍾和硬體時鍾。
硬體時鍾與系統時鍾同步:
# hwclock --hctosys
或者
# clock --hctosys
上面命令中,--hctosys表示Hardware Clock to SYStem clock。
系統時鍾和硬體時鍾同步:
# hwclock --systohc
或者
# clock --systohc
❺ Linux date 顯示設置時間命令學習
概要:
date命令的功能是顯示和設置系統日期和時間
命令格式:
date
[OPTION]...
[+FORMAT]
date
[-u|--utc|--universal]
[MMDDhhmm[[CC]YY][.ss]]
參數:
-d
STRING:顯示由
STRING
描述的日期
-s
STRING:
設置由
STRING
描述的日期
%Y
年(例如:1970,2009等)
%y
年的最後兩個數字(1988則是88)
%m
月(01..12)
%d
一個月的第幾天(01..31)
%H
小時(00..23)
%I
小時(01..12)
%k
小時(0..23)
%l
小時(1..12)
%p
顯示出AM或PM
%M
分(00..59)
%S
秒(00..59)
%r
時間(hh:mm:ss
AM或PM),12小時
%T
時間(24小時制)(hh:mm:ss)
%X
顯示時間的格式(%H:%M:%S)
%x
顯示日期的格式(mm/dd/yy)
%D
日期(mm/dd/yy)
%s
從1970年1月1日00:00:00到目前經歷的秒數
常用的就這些,剩下的直接查man就好了...
例子:
1、今天中午有個時間很特別,2009-08
07
12:34:56,用下面這個格式就可以顯示出12/34/56/7/8/9這種格式。其中"-"可以忽略首位的"0"。
date
+'%I/%M/%S/%-d/%-m/%-y'
2、設置年月日為20090807,時間為00:00
date
-s
20090807
3、設置時間,不改變日期
date
-s
16:02:23
4、設置日期及時間
date
-s
"20090807
16:02:23"
5、查看100天又5小時前的具體時間
date
-d
"-1
day
5
hour"
+"%Y-%m-%d
%H:%M:%S"
6、查看100分鍾後的時間
date
-d
"+100
min"
+"%Y-%m-%d
%H:%M:%S"
7、計算時間戳
date
-d
20090528
+%s
8、還原時間戳
date
-d
"1970-01-01
1243440000
sec
GMT"
+"%F
%T"
9、利用NTP協議在線更新系統時間
ntpdate
210.72.145.44
❻ Linux裡面date -d命令作用是什麼
date -d 的一下常用示例與說明:
date -d 『2 days ago』 //顯示2天以前的時間
date -d 『60 second ago』 //顯示60秒以前的時間
date -d '3 months 1 day' //顯示3月零1天以後的時間
date -d '25 Dec' +%j //顯示12月25日在當年的哪一天
date -d '1970-01-01 00:00:30 +0000' +%s //自UTC 時間 1970-01-01 00:00:00 以來所經過的秒數
❼ linux 怎麼用命令查看日期
date命令用於顯示及設置系統的時間或日期,格式為:"date [選項] [+指定的格式]"。
強大的date命令只需鍵入以"+"號開頭的參數即可按照指定格式來輸出系統的時間或日期,這樣日常工作時咱們便可以將打包數據的備份命令與指定格式輸出的時間信息結合到一起,使得咱們可以更加便捷的區分每個文件的備份時間啦,date命令常見的格式如下:
參數 作用
%t 跳格[TAB鍵]
%H 小時(00-23)
%I 小時(01-12)
%M 分鍾(00-59)
%S 秒(00-60)
%X 相當於%H:%M:%S
%Z 顯示時區
%p 顯示本地AM或PM
%A 星期幾 (Sunday-Saturday)
%a 星期幾 (Sun-Sat)
%B 完整月份 (January-December)
%b 縮寫月份 (Jan-Dec)
%d 日(01-31)
%j 一年中的第幾天(001-366)
%m 月份(01-12)
%Y 完整的年份
按照默認的格式查看當前的系統時間:
[root@linuxprobe ~]# date
Mon Aug 24 16:11:23 CST 2016
按照"年-月-日 小時:分鍾:秒"的格式查看當前的系統時間:
[root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
2016-08-24 16:29:12
設置當前的系統時間為2016年9月1日8點30分:
[root@linuxprobe ~]# date -s "20160901 8:30:00"
Tue Sep 1 08:30:00 CST 2016
再次按照默認的格式查看當前的系統時間:
[root@linuxprobe ~]# date
Tue Sep 1 08:30:01 CST 2016
查看今天是一年中的第幾天:
[root@linuxprobe ~]# date "+%j"
245
reboot命令用於重啟系統,格式為:"reboot"。
重啟計算機這種操作會涉及到對硬體資源的管理許可權,因此默認只能使用root用戶來重啟您的電腦:
[root@linuxprobe ~]# reboot
poweroff命令用於關閉系統,格式為:"poweroff"。
關機命令也同理,默認只有root用戶才可以關閉您的電腦:
[root@linuxprobe ~]# poweroff
如果你對Linux感興趣的話,可以看看http://www.linuxprobe.com/chapter-02.html,非常適合初學者學習。
❽ 如何使用命令行更改Linux系統的日期和時間
方法一: Date 命令
在 Linux 中, 你可以通過 date 命令來更改系統的日期和時間:
# date --set=『NEW_DATE』
其中 NEW_DATE 是諸如 「Sun, 28 Sep 2014 16:21:42」 或者 「2014-09-29 16:21:42」 的可讀格式的日期字元串。
日期格式也可以手動指定以獲得更精確的結果:
# date +FORMAT --set=『NEW_DATE』
例如:
# date +』%Y%m%d %H%m』 --set=『20140928 1518』
你也可以用相對的方式地增加或減少一定的天數,周數,月數和秒數,分鍾數,小時數。 你也可以把日期和時間的參數放到一個命令中。
# date --set=『+5 minutes』# date --set=『-2 weeks』# date --set=『+3 months』# date --set=『-3 months +2 weeks -5 minutes』
最後, 把硬體時鍾設置為當前系統時鍾:
# hwclock --systohc
運行 hwclock --systohc 的目的是將硬體時鍾同軟體時鍾同步, 這可以更正硬體時鍾的系統漂移(即時鍾按照一定的速度走快或走慢)。
另一方面, 如果硬體時鍾是正確的, 但系統時鍾有誤, 可以用下面的命令更正:
# hwclock --hctosys
在兩種情況下, hwclock 命令都是將兩個時鍾同步。 否則, 重啟後時間會是錯誤的, 因為當電源關閉時硬體時鍾會記憶時間。 然而, 這對於虛擬機器並不適用, 因為虛擬機器並不能訪問硬體時鍾。
方法二: NTP
另一種使系統日期和時間保持精確的方法是使用 NTP (網路時間協議)。 在 Linux 上, ntpdate 命令通過 NTP 將系統時鍾和公共 NTP 伺服器同步。
你可以使用如下命令來安裝 ntpdate:
在 Debian 及基於 Debian 的發行版上:
# aptitude install ntpdate
在基於 Ret Hat 的發行版上:
# yum install ntpdate
使用 NTP 同步系統時鍾:
# ntpdate -u 《NTP 伺服器名或IP》# hwclock --systohc
除了一次性使用 ntpdate 來同步時鍾, 你也可以使用 NTP 守護進程(ntpd), 它會始終在後台運行, 不斷地通過 NTP 來調整系統時鍾。
❾ Linux裡面date -d命令作用是
date命令
date命令的功能是顯示和設置系統日期和時間。
該命令的一般格式為: date [選項] 顯示時間格式(以+開頭,後面接格式)
date 設置時間格式
命令中各選項的含義分別為:
-d datestr, --date datestr 顯示由datestr描述的日期
-s datestr, --set datestr 設置datestr 描述的日期
-u, --universal 顯示或設置通用時間
❿ Linux裡面date -s命令作用是什麼
修改linux的時間
root使用date指令:date -s
1、只修改日期,不修改時間,輸入:
Linux代碼
1. date -s 2007-08-03
date -s 2007-08-03
2、只修改時間,輸入:
Linux代碼
1. date -s 14:15:00
date -s 14:15:00
3、同時修改日期時間,注意要加雙引號,日期與時間之間有一空格,輸入:
Linux代碼
1. date -s "2007-08-03 14:15:00"
date -s "2007-08-03 14:15:00"