我正在尝试获取开始日期和结束日期。开始和结束数据应相差 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)
这是一种将开始日期设为昨天并将结束日期设为今天的方法。如果我误解了你的意思,请说出来。
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)