CS_DATE2=$[$CS_DATE1-1]
CS_DATE1是指定日期,外部作为参数输入
CS_DATE2是减去一天的日期
但是这么写有一个问题,当日期为04月01日时,减去1,结果为04月00日,该怎么做 才能变为03月31日,不通过判断语句来写
如果只减去一天的话,直接写就可以了。
#date -d"yesterday 20150401" +%Y%m%d如果要减去几天,还可以这样写,如果用负数是往前数,
#date -d"10 day ago 2015-04-01" +%Y-%m-%d先用 date 命令将指定日期转换成秒数,减去一天的秒数 86400,然后再转化成正常易读的日期格式,就可以了,不需要考虑复杂的大小月以及闰年问题。
$ ./test.sh 20150401
2015-03-31
本回答被网友采纳