无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6627|回复: 9
打印 上一主题 下一主题

求助,DOS日期判断语句

[复制链接]
跳转到指定楼层
1#
发表于 2008-3-21 13:46:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助,DOS日期判断语句,
举个日期判断语句的例子,谢谢!
2#
发表于 2008-3-21 14:35:29 | 只看该作者
顶起来,我正在寻找中,比较日期的大小!
回复

使用道具 举报

3#
发表于 2008-3-21 19:53:37 | 只看该作者
要顶呀,偶写了3个小时,不容易呀,







@echo off
rem 读取当天的日期关赋予给变量d
echo %date:~0,10% >date.txt
set /p d=<date.txt
del /q date.txt

rem  截取 当天 年分的数字赋予给变量d1
rem  截取 当天 月分的数字赋予给变量d2
rem  截取 当天 日期的数字赋予给变量d3  
set d1=%d:~0,4%
set d2=%d:~5,2%
set d3=%d:~8,2%

rem  设置比较的日期为2008-03-20并截赋予给变量t  (这个2008-03-20可以随便改,但格式一定要跟这样,否则会出错)
rem  截取年分的数字赋予给变量t1
rem  截取月分的数字赋予给变量t2
rem  截取日期的数字赋予给变量t3  
set t=2008-03-20
set t1=%t:~0,4%
set t2=%t:~5,2%
set t3=%t:~8,2%

rem 如果当天 年分,月分,日期的数字 都等于2008-03-20  就跳转到03
if /i %d1% EQU %t1% (goto 01) ELSE goto bj
:01
if /i %d2% EQU %t2% (goto 02) ELSE goto bj
:02
if /i %d3% EQU %t3% (goto 03) ELSE goto bj
:03
echo 正是2008-03-20
pause
exit

:bj
rem 如果当天 年分的数字 大于 2008 就跳转到dd
rem 如果当天 年分的数字 小于 2008 就跳转到ee
if %d1% GTR %t1% (goto dd)
if %d1% LSS %t1% (goto ee)

rem 如果当天 月分的数字 大于 03 就跳转到dd
rem 如果当天 月分的数字 小于 03 就跳转到ee
if %d2% GTR %t2% (goto dd)
if %d2% LSS %t2% (goto ee)

rem 如果当天 日期的数字 大于 20 就跳转到dd
rem 如果当天 日期的数字 小于 20 就跳转到ee
if %d3% GTR %t3% (goto dd)
if %d3% LSS %t3% (goto ee)

exit
:ee
@echo 今天还没到%t%
pause >nul
exit
:dd
echo 今天过了%t%
pause >nul
exit

[ 本帖最后由 都市浪子666 于 2008-3-22 11:45 AM 编辑 ]
回复

使用道具 举报

4#
发表于 2008-3-21 20:42:12 | 只看该作者
楼上的辛苦了,不过dos下能用吗?
回复

使用道具 举报

5#
发表于 2008-3-21 20:49:36 | 只看该作者
原帖由 lianjiang 于 2008-3-21 08:42 PM 发表
楼上的辛苦了,不过dos下能用吗?



在DOS下不能用.
因为在XP和200下的日期格式是 年  月  日


而DOS下的日期格式是  月 日 年

今天比较忙,明天我把日期格式改变一下,然后在dos下测试下,看能不能用

[ 本帖最后由 都市浪子666 于 2008-3-21 08:52 PM 编辑 ]
回复

使用道具 举报

6#
发表于 2008-3-22 08:02:39 | 只看该作者
这种处理方法,dos下是不行的,日期格式仅仅是个不能算是问题的小问题而已。呵呵。
回复

使用道具 举报

7#
发表于 2008-3-22 09:38:33 | 只看该作者
dos下不能用,有很多功能在DOS下都用不了,
回复

使用道具 举报

8#
 楼主| 发表于 2008-3-22 11:11:49 | 只看该作者
十分感谢!
特别都市浪子666!!!
回复

使用道具 举报

9#
发表于 2008-3-22 14:26:22 | 只看该作者
下面的更简单
方法是,读取当天的日期,关把  [ - ]去掉,然后跟设置的日期比较

@echo off
rem 读取当天的日期关赋予给变量d
echo %date:~0,10% >date.txt
set /p d=<date.txt
del /q date.txt

rem  截取 当天 年分的数字赋予给变量d1
rem  截取 当天 月分的数字赋予给变量d2
rem  截取 当天 日期的数字赋予给变量d3  
set d1=%d:~0,4%
set d2=%d:~5,2%
set d3=%d:~8,2%
set dz=%d1%%d2%%d3%

rem  设置比较的日期为2008-03-20并截赋予给变量t  (这个2008-03-20可以随便改,但格式一定要跟这样,否则会出错)
rem  截取年分的数字赋予给变量t1
rem  截取月分的数字赋予给变量t2
rem  截取日期的数字赋予给变量t3
rem  最终目的 就是把2008-03-20这一串字符 中的 [-]去掉,就只剩下数字并赋予给变量t3  感觉这样的有点走弯路了  有点汗,,,
rem  
set t=2008-03-20
set t1=%t:~0,4%
set t2=%t:~5,2%
set t3=%t:~8,2%
set tz=%t1%%t2%%t3%


rem 如果变量dz等于变量tz就跳转到03
rem 如果变量dz大于变量tz就跳转到dd
rem 如果变量dz小于变量tz就跳转到ee
if /i %dz% EQU %tz% (goto 03)
if /i %dz% GTR %tz% (goto dd)
if /i %dz% LSS %tz% (goto ee)
exit
:03
echo 正是2008-03-20
pause >nul
exit

:ee
@echo 今天还没到%t%
pause >nul
exit

:dd
echo 今天过了%t%
pause >nul
exit

[ 本帖最后由 都市浪子666 于 2008-3-22 02:27 PM 编辑 ]
回复

使用道具 举报

10#
发表于 2008-3-24 12:39:04 | 只看该作者
非常感谢,正在测试izhong
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-4 05:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表