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

时间:2015-03-17 22:37:36

标签: windows batch-file

我以显示的格式从用户收到StartDateEndDate

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

set /p StartDate="Enter StartDate (MM-DD-YYYY): "
set /p EndDate="Enter EndDate (MM-DD-YYYY): "

简单"%StartDate% GTR %EndDate%"无法按预期工作。

请指导我,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

评论员的意思是使用像这样的批处理代码:

@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 /?,点击键RETURN执行此命令并在控制台窗口中读取命令set的帮助输出。