这个问题看似简单,却很麻烦
要考虑的因素太多
要区分大月小月(即一月是30天还是31天 )
要计算是否是闰年 (对2月的特殊处理)
这里附上 对时间的字符截取示例 详见TEST2015.BAT
需要注意的还有
以2015-01-01为例
我把月份拆分为0和9
因为加减只能对数字才能使用 否则会意外终止运行
这里你要判断 月份的前一位 是不是 0 (即 09不能视为数字 也不能进行算术)是 0的话只能将9(即月份的第二位)转为数字 转数字的方法是 SET /A
对日的处理一样 还要注意 2015-01-01 的前一天是2014-12-31 这里也要处理
希望能对你要说帮助
这个就非常简单了,我写个通用的吧:
set tday=%date:~0,4%%date:~5,2%%date:~8,2%
set /a yesterday=%tday%-1
结果echo %yesterday%为20181216,如果为1号的set多几个变量结合if判断就行