shell下date命令及時間日期的加減乘除運算

shell下的時間戳:自1970年1月1日(00:00:00 UTC/GMT)以來的秒數。它也被稱爲Unix時間戳(Unix Timestam、Unix epoch、POSIX time、Unix timestamp)是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒。

UNIX時間戳的0按照ISO 8601規範爲:1970-01-01T00:00:00Z 一個小時表示爲UNIX時間戳格式爲:3600秒;一天表示爲UNIX時間戳爲86400秒,閏秒不計算。

//從2014-12-05 19:45:44到1970-1-1總共的秒數

[oracle@longleding ~]$ date -d "2014-12-05 19:45:44" +%s

1417779944

date 可以用來顯示或設定系統的日期期與時間:

1.顯示日期時間

%m : 月份 (01..12)
%U : 一年中的第幾周 (00..53) ( 以 Sunday 爲一週的第幾天的情形)
%w : 一週中的第幾天 (0..6)
%W :一年中的第幾周 (00..53) ( 以 Monday 爲幾周的第幾天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最後兩位數字 (00.99)
%Y : 完整年份 (0000..9999)

%X : 相當於 %H:%M:%S
%Z : 顯示時區 %a : 星期幾(Sun..Sat)
%A : 星期幾 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接顯示期與時間
%d : 日 (01..31)
%D : 直接顯⽰⽇期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第幾天 (001..366)

%H : 小時(00..23)
%I : 小時(01..12)
%k : 小時(0..23)
%l : 小時(1..12)
%M : 分鐘(00..59)
%p : 顯示本地 AM 或 PM
%r : 直接顯示時間 (12 小時時制,格式爲 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到當前爲爲止的秒數
%S : 秒(00..61)
%T : 直接顯示時間 (24 小時制)

[oracle@longleding ~]$ date +%Y-%m-%d' '%r
2019-04-03 04:16:58 PM

2.日期的加減乘除

[oracle@longleding ~]$ echo $(date --date='3 day')  //當天日期+3天
Sat Apr 6 16:05:37 CST 2019 //當天日期+3天
[oracle@longleding ~]$ echo $(date --date='3 day ago')  //當天日期-3天
Sun Mar 31 16:05:45 CST 2019 //當天日期-3天
[oracle@longleding ~]$ echo $(date --date='3 month')  //當天日期+3月
Wed Jul 3 16:05:55 CST 2019 //當天日期+3月
[oracle@longleding ~]$ echo $(date --date='3 month ago')  //當天日期-3月
Thu Jan 3 16:06:09 CST 2019 //當天日期-3月
[oracle@longleding ~]$ echo $(date --date='3 year')  //當天日期+3年
Sun Apr 3 16:06:21 CST 2022 //當天日期+3年
[oracle@longleding ~]$ echo $(date --date='3 year ago')  //當天日期-3年
Sun Apr 3 16:06:30 CST 2016 //當天日期-3年
[oracle@longleding ~]$ echo $(date --date='3 minute ')  //當天日期+3分鐘
Wed Apr 3 16:09:44 CST 2019 //當天日期+3分鐘
[oracle@longleding ~]$ echo $(date --date='3 minute ago')  //當天日期-3分鐘
Wed Apr 3 16:04:01 CST 2019 //當天日期-3分鐘
[oracle@longleding ~]$ echo $(date --date='3 hour ago')  //當天日期-3小時
Wed Apr 3 13:07:23 CST 2019 //當天日期-3小時
[oracle@longleding ~]$ echo $(date --date='3 hour')  //當天日期+3小時
Wed Apr 3 19:07:34 CST 2019 //當天日期+3小時

 

3.設置系統時間

 

date -s //設置當前時間,只有root權限才能設置,其他只能查看。

date -s 20100101 //設置成20100101,這樣會把具體時間設置成空00:00:00

date -s 01:01:01   //設置具體時間,不會對日期期做更改
date -s “01:01:01 2010-01-01 ″   //這樣可以設置全部時間
date -s “01:01:01 20100101″      //這樣可以設置全部時間

原文鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章