date -d 的用法

原文連接:https://blog.csdn.net/qq_31382921/article/details/53405500linux

在linux 中date 有不少用法,在這裏我簡單介紹一下-d這個參數的使用方法以及使用例子:apache

date -d //顯示字符串所指的日期與時間。字符串先後必須加上雙引號

指定顯示的日期格式:ide

date <+時間日期格式>

例如:.net

date +"%Y-%m-%d" // 注意 :+ 和格式之間沒有空格
2016-11-30

有可能用到的格式code

%H 小時,24小時制(00~23) 
%I 小時,12小時制(01~12) 
%k 小時,24小時制(0~23) 
%l 小時,12小時制(1~12) 
%M 分鐘(00~59) 
%p 顯示出AM或PM 
%r 顯示時間,12小時制(hh:mm:ss %p) 
%s 從1970年1月1日00:00:00到目前經歷的秒數 
%S 顯示秒(00~59) 
%T 顯示時間,24小時制(hh:mm:ss) 
%X 顯示時間的格式(%H:%M:%S) 
%Z 顯示時區,日期域(CST) 
%a 星期的簡稱(Sun~Sat) 
%A 星期的全稱(Sunday~Saturday) 
%h,%b 月的簡稱(Jan~Dec) 
%B 月的全稱(January~December) 
%c 日期和時間(Tue Nov 20 14:12:58 2012) 
%d 一個月的第幾天(01~31) 
%x,%D 日期(mm/dd/yy) 
%j 一年的第幾天(001~366) 
%m 月份(01~12) 
%w 一個星期的第幾天(0表明星期天) 
%W 一年的第幾個星期(00~53,星期一爲第一天) 
%y 年的最後兩個數字(1999則是99)

輸出昨天日期blog

date -d "1 day ago" +"%Y-%m-%d"
2016-11-29

2秒後輸出字符串

date -d "2 second" +"%Y-%m-%d %H:%M.%S"
2016-11-30 10:46.04

時間戳類型的 輸出對應的1234567890秒get

date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S" 
2009-02-13 23:02:30

普通格式it

date -d "2016-11-30" +"%Y/%m/%d %H:%M.%S" 
2016/11/30 00:00.00

apache格式轉換:class

date -d "Nov 30, 2016 12:00:37" +"%Y-%m-%d %H:%M.%S"
2016-11-30 12:00.37

格式轉換後時間遊走:

date -d "Nov 30, 2016 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
2014-11-30 00:00.37

加減操做

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 //顯示下一年的日期

若是須要計算一組命令花費多少時間

start=$(date +"%d")//以時間戳類型保存當前時間

// 執行須要計算的命令

end=$(date +"%d")//以時間戳類型保存當前時間

difference=$(( end - start )) //相減的結果就是命令執行完須要的時間
相關文章
相關標籤/搜索