1. 程式人生 > >案例一:shell指令碼指定日期減去一天

案例一:shell指令碼指定日期減去一天

如果只減去一天的話,直接寫就可以了。

#date -d"yesterday 20150401" +%Y%m%d

如果要減去幾天,還可以這樣寫,如果用負數是往前數,

#date -d"10 day ago 2015-04-01" +%Y-%m-%d

在指定的日期上加上指定的小時

[[email protected] init_env]$ date -d "20150416 12 3 hour" +"%Y%m%d%H"
2015041615

在指定的日期上減去指定的小時

[[email protected] init_env]$ date -d "20150416 12 -1 hour" +"%Y%m%d%H"
2015041611

在指定的日期上加上指定的分鐘

[[email protected] init_env]$ date -d "20150416 12:20 10 minute" +"%Y%m%d%H%M"
201504161230

date -d引數可以根據當前日期獲取更多我們需要的日期。

本月和下月

this_ym=`date +%Y%m`
next_ym=`date -d '1month' +%Y%m`

昨天和明天

date -d yesterday
date -d tomorrow
date +%Y%m%d -d "+1 day"
date +%Y%m%d -d'+1 day'
date +%Y%m%d --date "+1 day"
date +%Y%m%d --date='+1 day'

指定月份

date -d 1May

現在:

date -d now

其他

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

原文來自: 

https://www.linuxprobe.com/shell-date.ht