首先看一下shell中的date命令。
它是用來(lái)顯示或設(shè)置系統(tǒng)時(shí)間與日期。
應(yīng)用格式
date(選項(xiàng))(參數(shù))
常用選項(xiàng):
-d<字符串>(--date=STRING):顯示字符串所指的日期與時(shí)間谜酒。字符串前后必須加上引號(hào);
-s<字符串>(--set=STRING):根據(jù)字符串來(lái)設(shè)置日期與時(shí)間佑吝。字符串前后必須加上雙引號(hào)骨饿;
-u:顯示UTC時(shí)間,與GMT沒(méi)有什么不同都是倫敦本地時(shí)顾翼,沒(méi)有這個(gè)參數(shù)投放,默認(rèn)顯示CST時(shí)間
參數(shù):
+ 指定時(shí)間日期的顯示格式
[NSOS1.1 ~]# date +"%Y-%m-%d"
2016-03-27
[NSOS1.1 ~]# date +"%Y-%m-%d" -d "-1 day"???????? ???#從昨天起開(kāi)始算往前推n天
2016-03-26
[NSOS1.1 ~]# date +"%Y-%m-%d" -d "-1 month"
2016-02-27
[NSOS1.1 ~]# date +"%Y-%m-%d" -d "-1 month -2 day"
2016-02-25
[ITM4.5 ~]# date +"%Y-%m-%d-%H:%M:%S"
2016-03-30-16:44:31
[ITM4.5 ~]# date +"%H:%M:%S"
16:44:31
?
上述顯示的都是CST時(shí)間(central standard time),所謂的CST時(shí)間可以代表四個(gè)不同的時(shí)區(qū):
?? ? USAcentral standard time
?? ? Australiacentral standard time
?? ? chinastandard time
?? ?cubastandard time
北京時(shí)間(china standard time)暴构,是中國(guó)的標(biāo)準(zhǔn)時(shí)間跪呈,在時(shí)區(qū)劃分上屬于東八區(qū),比協(xié)調(diào)時(shí)間或世界標(biāo)準(zhǔn)時(shí)間(UTC取逾,Coordinated Universal Time)早8個(gè)小時(shí)耗绿,記為UTC+8。而美國(guó)時(shí)間記為UTC-6砾隅。
UTC是零時(shí)區(qū)的時(shí)間误阻,UTC + 時(shí)區(qū)差=本地時(shí)間。UTC時(shí)間開(kāi)始自1970年1月1日0時(shí)0分0秒。
[root@localhost~]# date -d @0 -u
ThuJan? 1 00:00:00 UTC 1970
在類(lèi)UNIX系統(tǒng)中究反,日期被存儲(chǔ)為一個(gè)整數(shù)寻定,其大小為自UTC起流逝的秒數(shù)(稱(chēng)為時(shí)間戳)【停可以使用date命令將日期時(shí)間轉(zhuǎn)換為時(shí)間戳狼速,或?qū)r(shí)間戳轉(zhuǎn)換為日期時(shí)間格式。
[root@localhost~]# date -d '2019-05-23 17:51:26' +%s
1558605086
[root@localhost~]# date -d @1558605086
ThuMay 23 17:51:26 CST 2019
[root@localhost~]# date -d @1558605086 -u
ThuMay 23 09:51:26 UTC 2019
[root@localhost~]#