1. 程式人生 > >linux 日期相關常用命令

linux 日期相關常用命令

Linux常用的日期引數


%Y : 完整年份 (0000..9999)
%m : 月份 (01..12)
%d : 日 (01..31)
%H : 小時(00..23)
%M : 分鐘(00..59)
%S : 秒(00..61)

%c : 直接顯示本地化日期與時間 
%x : 直接顯示本地化日期 (mm/dd/yy) 
%X : 相當於 %H:%M:%S
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數

%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%D : 直接顯示日期 (mm/dd/yy)
%y : 年份的最後兩位數字 (00.99)
%t : 跳格

1、執行指令碼時列印當前時間

date '+%Y-%m-%d %H:%M:%S'

date '+%Y%m%d%H%M%S'

_cur_date=`date '+%Y-%m-%d %H:%M:%S'`

2、日期加減,適用於定時清理日誌檔案


減1年
date '+%Y-%m-%d %H:%M:%S' -d '-1 year'
減1個月
date '+%Y-%m-%d %H:%M:%S' -d '-1 month'
減1天
date '+%Y-%m-%d %H:%M:%S' -d '-1 day'
減1小時
date '+%Y-%m-%d %H:%M:%S' -d '-1 hour'

3、根據年度月份獲取當月天數

#使用sed讀取所有日期(第三行到最後一行),xargs去掉空格,awk列印輸出最後一個數字 即為該月天數
cal 3 2018 |sed -n '3,$p' |xargs |awk '{print $NF}'

cal 03 2018 |sed -n '3,$p' |xargs |awk '{print $NF}'