批处理日期减一天
时间: 2023-08-16 13:03:29 浏览: 76
可以使用以下命令来批处理日期减一天:
```
@echo off
setlocal
set "today=%date:~0,4%-%date:~5,2%-%date:~8,2%"
echo Today is %today%
for /f "tokens=1-3 delims=-" %%a in ("%today%") do (
set /a "yy=%%a", "mm=1%%b-100", "dd=1%%c-100"
)
set /a "dd-=1"
if %dd%==0 (
set /a "mm-=1"
if %mm%==0 (
set /a "yy-=1", "mm=12", "dd=31"
) else (
for %%a in (1 3 5 7 8 10 12) do (
if %%a==%mm% (
set "dd=31"
goto :break
)
)
for %%a in (4 6 9 11) do (
if %%a==%mm% (
set "dd=30"
goto :break
)
)
set /a "dd=28+(yy %% 4 == 0 && (yy %% 100 != 0 || yy %% 400 == 0))"
)
)
:break
if %mm% < 10 set "mm=0%mm%"
if %dd% < 10 set "dd=0%dd%"
set "yesterday=%yy%-%mm%-%dd%"
echo Yesterday was %yesterday%
```
这个命令首先获取当前日期并将其格式化为 yyyy-mm-dd 的形式。然后,它将日期分解为年、月和日的组成部分,并将日减去1。如果日变成0,则月减去1,如果月变成0,则年减去1,月变为12,日变为31。否则,它将根据月份设置日数。最后,它将新日期格式化为 yyyy-mm-dd 的形式并输出。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)