linux date命令

最好使用以下的格式:
 # date -d "+2 day" +"%Y-%m-%d"
2018-08-22
 # date -d "-2 day" +"%Y-%m-%d"
2018-08-18linux

另一種格式:apache

date +%Y%m%d --date="+1 day" //顯示前一天的日期
--date= 有個等於號
[root@layzj022301 ~]# date -d "1 day ago" +"%Y-%m-%d"
//輸出昨天日期 -d "1 day agao" 無等於號
練習
 # date -d "1 day ago" +"%Y%m%d"
20180808
 # date -d "1 day ago" +"%Y-%m-%d"
2018-08-08
# date -d "2 day ago" +"%Y-%m-%d"
2018-08-07
# date --date"+1 day" +"%Y-%m-%d"
date: unrecognized option '--date+1 day'
Try `date --help' for more information.
 # date --date="+1 day" +"%Y-%m-%d"
2018-08-10
 # date -d "now" +"%Y%m%d"
20180809bash

date命令是顯示或設置系統時間與日期。
date日期能夠以多種格式去打印,也能夠使用命令設置固定的格式.
語法選項
-d<字符串>:顯示字符串所指的日期與時間。字符串先後必須加上雙引號; spa

-s<字符串>:根據字符串來設置日期與時間。字符串先後必須加上雙引號; .net

-u:顯示GMT; orm

--help:在線幫助; 字符串

--version:顯示版本信息。
參數
<+時間日期格式>:指定顯示時使用的日期時間格式。
日期格式字符串列表
%H 小時(以00-23來表示)。 io

%I 小時(以01-12來表示)。 form

%K 小時(以0-23來表示)。 date

%l 小時(以0-12來表示)。

%M 分鐘(以00-59來表示)。

%P AM或PM。

%r 時間(含時分秒,小時以12小時AM/PM來表示)。

%s 總秒數。起算時間爲1970-01-01 00:00:00 UTC。

%S 秒(以本地的慣用法來表示)。

%T 時間(含時分秒,小時以24小時制來表示)。

%X 時間(以本地的慣用法來表示)。

%Z 市區。

%a 星期的縮寫。

%A 星期的完整名稱。

%b 月份英文名的縮寫。

%B 月份的完整英文名稱。

%c 日期與時間。只輸入date指令也會顯示一樣的結果。

%d 日期(以01-31來表示)。

%D 日期(含年月日)。

%j 該年中的第幾天。

%m 月份(以01-12來表示)。

%U 該年中的週數。

%w 該周的天數,0表明週日,1表明週一,異詞類推。

%x 日期(以本地的慣用法來表示)。

%y 年份(以00-99來表示)。

%Y 年份(以四位數來表示)。

%n 在顯示時,插入新的一行。

%t 在顯示時,插入tab。
M
MM 月份(必要)
D
DD 日期(必要)
h
hh 小時(必要)
m
mm 分鐘(必要)
s
ss 秒(選擇性)
使用說明
格式設定爲一個加號後接數個標記,其中可用的標記列表以下: % : 打印出 %:
%n : 下一行
%t : 跳格
%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 小時制)
%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)
%m : 月份 (01..12)
%U : 一年中的第幾周 (00..53) (以 Sunday 爲一週的第一天的情形)
%w : 一週中的第幾天 (0..6)
%W : 一年中的第幾周 (00..53) (以 Monday 爲一週的第一天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最後兩位數字 (00.99)
%Y : 完全年份 (0000..9999)
2.在設定時間方面:
date -s //設置當前時間,只有root權限才能設置,其餘只能查看。
d
date -s 20080523 //設置成20080523,這樣會把具體時間設置成空00:00:00
d
date -s 01:01:01 //設置具體時間,不會對日期作更改
d
date -s 「01:01:01 2008-05-23″ //這樣能夠設置所有時間
d
date -s 「01:01:01 20080523″ //這樣能夠設置所有時間
d
date -s 「2008-05-23 01:01:01″ //這樣能夠設置所有時間
d
date -s 「20080523 01:01:01″ //這樣能夠設置所有時間
3.加減:
date +%Y%m%d //顯示前天年月日

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

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

date +%Y%m%d --date="-1 month" //顯示上一月的日期

date +%Y%m%d --date="+1 month" //顯示下一月的日期

date +%Y%m%d --date="-1 year" //顯示前一年的日期

date +%Y%m%d --date="+1 year" //顯示下一年的日期
例子
顯示當前時間
[root@layzj022301 ~]# date
M
Mon Feb 27 23:54:13 CST 2017
[
[root@layzj022301 ~]# date '+%c'
M
Mon 27 Feb 2017 11:54:48 PM CST
[
[root@layzj022301 ~]# date '+%D'

02/27/17
[
[root@layzj022301 ~]# date '+%x'

02/27/2017
[
[root@layzj022301 ~]# date '+%T'

23:55:10
[
[root@layzj022301 ~]# date '+%X'

11:55:16 PM
[
[root@layzj022301 ~]#
格式化輸出
[root@layzj022301 ~]# date +"%Y-%m-%d"

2017-02-27
[
[root@layzj022301 ~]#
輸出昨天日期:
[root@layzj022301 ~]# date -d "1 day ago" +"%Y-%m-%d"

2017-02-26
[
[root@layzj022301 ~]#
設定時間:
date -s //設置當前時間,只有root權限才能設置,其餘只能查看

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

date -s 01:01:01 //設置具體時間,不會對日期作更改

date -s "01:01:01 2017-02-26" //這樣能夠設置所有時間

date -s "01:01:01 20170226" //這樣能夠設置所有時間

date -s "2017-02-26 01:01:01" //這樣能夠設置所有時間

date -s "20170226 01:01:01" //這樣能夠設置所有時間
日期的加減操做
date +%Y%m%d //顯示前天年月日

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

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

date -d "-1 month" +%Y%m%d //顯示上一月的日期

date -d "+1 month" +%Y%m%d //顯示下一月的日期

date -d "-1 year" +%Y%m%d //顯示前一年的日期

date -d "+1 year" +%Y%m%d //顯示下一年的日期


五、實例
格式化輸出:
date +"%Y-%m-%d"

2015-12-07
輸出昨天日期:
date -d "1 day ago" +"%Y-%m-%d"

2015-11-19
2秒後輸出:
date -d "2 second" +"%Y-%m-%d %H:%M.%S"

2015-11-20 14:21.31
傳說中的 1234567890 秒:
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"

2009-02-13 23:02:30
普通轉格式:
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"

2009/12/12 00:00.00
apache格式轉換:
date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"

2009-12-05 00:00.37
格式轉換後時間:
date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"

2007-12-05 00:00.37
加減操做:

date +%Y%m%d #顯示前天年月日
d
date -d "+1 day" +%Y%m%d #顯示前一天的日期
d
date -d "-1 day" +%Y%m%d #顯示後一天的日期
d
date -d "-1 month" +%Y%m%d #顯示上一月的日期
d
date -d "+1 month" +%Y%m%d #顯示下一月的日期
d
date -d "-1 year" +%Y%m%d #顯示前一年的日期
d
date -d "+1 year" +%Y%m%d #顯示下一年的日期

設定時間:

date -s #設置當前時間,只有root權限才能設置,其餘只能查看
d
date -s 20120523 #設置成20120523,這樣會把具體時間設置成空00:00:00
d
date -s 01:01:01 #設置具體時間,不會對日期作更改
d
date -s "01:01:01 2012-05-23" #這樣能夠設置所有時間
d
date -s "01:01:01 20120523" #這樣能夠設置所有時間
d
date -s "2012-05-23 01:01:01" #這樣能夠設置所有時間
d
date -s "20120523 01:01:01" #這樣能夠設置所有時間

檢查一組命令花費的時間:

#!/bin/bash
s
start=$(date +%s)
n
nmap man.linuxde.net &> /dev/null

end=$(date +%s) ddifference=$(( end - start )) eecho $difference seconds.

相關文章
相關標籤/搜索