【发布时间】:2017-09-05 15:48:04
【问题描述】:
我正在尝试获取 StartDate(今天)和 EndDate(昨天)。我一直在努力保持当天的数字格式正确。然而,我注意到,系统不喜欢有前导零并且当它从“09”之类的东西中减去 1 时失败,但与“10”完美搭配。我该如何解决这个问题?
echo off
REM CurrentDate (END DATE) -------------------------------------------------------------
Set dd=%date:~4,2%
Set mm=%date:~7,2%
Set yyyy=%date:~10,4%
set END_DATE=%yyyy%-%mm%-%dd% 00:00 AM
echo %END_DATE%
REM CurrentDate - 1 (START DATE) ------------------------------------------------------------
set m1dd=%date:~4,2%
set m1dd=09
echo %m1dd%
set /A m1dd -= 1
echo %m1dd%
Set m1dd=0%m1dd%
echo %m1dd%
Set m1dd=%m1dd:~-2%
echo %m1dd%
set START_DATE=%yyyy%-%mm%-%m1dd% 00:00 AM
echo %START_DATE%
pause
【问题讨论】:
-
请解释一下否决票,以便我可以学习并在未来提出更好的问题?谢谢。
-
什么事情还没开始就结束了?
-
首先,您应该在发布之前研究您的主题,在上面的搜索框中输入
batch yesterday,您会得到很多结果。 -
在您的问题中“StartDate(今天)和 EndDate(昨天)”应该是“StartDate(昨天)和 EndDate(今天)”
标签: windows batch-file cmd