如何比較批處理文件中的2個日期? 這個:在Windows批處理文件中比較2個日期
if %%newdate geq %olddate% _do smth_
不起作用。
在這種情況下,我有27.05.2013
比15.07.2013
和14.07.2013
更大是小於15.07.2013
振亞
如何比較批處理文件中的2個日期? 這個:在Windows批處理文件中比較2個日期
if %%newdate geq %olddate% _do smth_
不起作用。
在這種情況下,我有27.05.2013
比15.07.2013
和14.07.2013
更大是小於15.07.2013
振亞
試試這個:
set "sdate1=%olddate:~-4%%olddate:~3,2%%olddate:~0,2%"
set "sdate2=%newdate:~-4%%newdate:~3,2%%newdate:~0,2%"
if %sdate1% GTR %sdate2% (goto there) else echo here
call :date_to_number %date1% date1
call :date_to_number %date2% date2
if %date1% GEQ %date2% echo date1 is bigger
goto :eof
:date_to_number
setlocal
if "%~1" EQU "" goto :eof
for /f "tokens=1,2,3 delims=." %%D in ("%~1") do (
set "the_date=%%F%%E%%D"
)
endlocal & if "%~2" neq "" (set %~2=%the_date%) else echo %the_date%
goto :eof
但是,這將在格式DD日期纔有效。 MM.YYYY
見http://stackoverflow.com/questions/15670666/compare-2-dates-in-a-batch-file – devnull
轉換日期爲公曆日期看看http://www.dostips.com /DtTipsDateTime.php#Function.date2jdate –