在bat文件中减去日期

Bra*_*rad 2 cmd batch-file

我正在尝试获取开始日期和结束日期。开始和结束数据应相差 1 天。我在从开始日期或结束日期减去或添加时遇到问题。我该怎么做呢?我已经尝试-%1%+%1%.

for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"

set /a y=%dt:~0,4%
set /a m=1%dt:~4,2%
set /a d=1%dt:~6,2%


set subdate=%y%%m:~-2%%d:~-2%

SET START_DATE= %subdate:~0,4%/%subdate:~4,2%/%subdate:~6,2% 00:00 AM
SET END_DATE = %dt:~0,4%/%dt:~4,2%/%dt:~6,2%+%1% 00:00 AM

echo %start_date%
echo %end_date%
echo done
Run Code Online (Sandbox Code Playgroud)

lit*_*lit 7

这是一种将开始日期设为昨天并将结束日期设为今天的方法。如果我误解了你的意思,请说出来。

FOR /F "usebackq tokens=*" %%t IN (`powershell -NoProfile -Command "(Get-Date).AddDays(-1).ToString('yyyy/MM/dd HH:mm:ss')"`) DO (SET "START_DATE=%%t")
FOR /F "usebackq tokens=*" %%t IN (`powershell -NoProfile -Command "(Get-Date).ToString('yyyy/MM/dd HH:mm:ss')"`) DO (SET "END_DATE=%%t")

echo %START_DATE%
echo %END_DATE%
Run Code Online (Sandbox Code Playgroud)