如果只减去一天的话,直接写就可以了。

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

如果要减去几天,还可以这样写,如果用负数是往前数,

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

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

[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 3 hour" +"%Y%m%d%H"
2015041615

在指定的日期上减去指定的小时

[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 -1 hour" +"%Y%m%d%H"
2015041611

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

[dc@dc010.tj.momo.com 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://idc.wanyunshuju.com/sh/4.html

本文地址:https://www.linuxprobe.com/shell-date.html编辑:吴向平,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/