Windows 如何比较以MM-DD-YYYY格式输入的两个日期?

Windows 如何比较以MM-DD-YYYY格式输入的两个日期?,windows,batch-file,Windows,Batch File,我以显示的格式从用户处接收StartDate和EndDate 如何比较这两个日期并发现StartDate不大于EndDate或相反 set /p StartDate="Enter StartDate (MM-DD-YYYY): " set /p EndDate="Enter EndDate (MM-DD-YYYY): " 简单的“%StartDate%GTR%EndDate%”无法按预期工作 请指导我,我们非常感谢您的帮助。评论员的意思是使用如下批处理代码: @echo off setloca

我以显示的格式从用户处接收
StartDate
EndDate

如何比较这两个日期并发现
StartDate
不大于
EndDate
或相反

set /p StartDate="Enter StartDate (MM-DD-YYYY): "
set /p EndDate="Enter EndDate (MM-DD-YYYY): "
简单的
“%StartDate%GTR%EndDate%”
无法按预期工作


请指导我,我们非常感谢您的帮助。

评论员的意思是使用如下批处理代码:

@echo off
setlocal
set /p "StartDate=Enter start date (MM-DD-YYYY): "
set /p "EndDate=Enter end date (MM-DD-YYYY):   "
set "DateStart=%StartDate:~6,4%%StartDate:~0,2%%StartDate:~3,2%"
set "DateEnd=%EndDate:~6,4%%EndDate:~0,2%%EndDate:~3,2%"
if %DateStart% GTR %DateEnd% (
    echo Start date %StartDate% is greater than end date %EndDate%.
) else if %DateStart% == %DateEnd% (
    echo Start date %StartDate% is equal end date %EndDate%.
) else (
    echo Start date %StartDate% is lower than end date %EndDate%.
)
endlocal

有关将格式为MM-DD-YYYY的日期字符串转换为YYYYMMDD的字符串操作的说明,以便可以将两个日期作为整数或字符串进行比较打开命令提示窗口,请输入
set/?
,如果日期的格式为YYYYMMDD而不是MM-DD-YYYY,则点击回车键执行此命令,并立即在控制台窗口中读取命令
set

的帮助输出,可以很容易地将日期作为整数进行比较。这很有意义……但我的要求是以MM-DD-YYYY格式接收日期……那么我建议创建一个函数,该函数接受MM-DD-YYYY,并使用字符串操作将其转换为YYYYMMDD。如果“%StartDate:-=%GTR%EndDate-=%”,则在不使用破折号的情况下进行比较。感谢您的详细解释。是,当您转换字符串格式时,这会使转换更容易:-)