@echo off
set /a m=%date:~5,2%1
set /a x=%date:~0,4%
set/a y=%x%10/4
set m2=%y:~-1,1%
set ld=28
if %m2%==0 set ld=29
for %%i in (1 3 5 7 8 10 12)do (if %m%==%%i set/a ld=31)
for %%i in (4 6 9 11)do (if %m%==%%i set/a ld=30)
echo 本月最后天是:%ld%
pause
这个问题看似简单,却很麻烦
要考虑的因素太多
要区分大月小月(即一月是30天还是31天 )
要计算是否是闰年 (对2月的特殊处理)
这里附上 对时间的字符截取示例 详见TEST2015BAT
需要注意的还有
以2015-01-01为例
我把月份拆分为0和9
因为加减只能对数字才能使用 否则会意外终止运行
这里你要判断 月份的前一位 是不是 0 (即 09不能视为数字 也不能进行算术)是 0的话只能将9(即月份的第二位)转为数字 转数字的方法是 SET /A
对日的处理一样 还要注意 2015-01-01 的前一天是2014-12-31 这里也要处理
希望能对你要说帮助
dos下可以显示日期,使用date命令,可以显示时间,使用time命令,无法显示市区。具体 *** 作步骤如下:
1、点击开始,点击运行,输入cmd,点击确定;
2、提示符后输入date,回车;
3、如果不修改,直接回车即可;
4、提示符后输入time,回车;
5、如果不修改,直接回车即可。
以上就是关于dos 批处理中如何获取当月最后一天的日期全部的内容,包括:dos 批处理中如何获取当月最后一天的日期、dos命令中,如何取给定日期的前一天的日期、DOS下如何同时显示时区日期和时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)