怎么判断一个8位数是有效的日期格式[已解决]
本帖最后由 1007236046 于 2012-10-16 08:37 编辑比如19980229,19980431都是不存在的 提供个思路:截取Year:前4位;Month:5-6位;day:后2位
------------------------------------
数组dayList存每月天数:31,28,31,30,31,30,31,31,30,31,30,31
如果是闰年二月29天
-----------------------------------
if $Month < 13 and $Month > 0 and $day > 0 and $day <= $dayList[$Month] then
是日期
endif
-----------闰年计算BAIDU来的---------------------------
YEAR同时满足以下条件:
1、年份能被4整除;
2、年份若是100的整数倍的话,需被400整除,否则是平年。
举例如下:
1900年能被4整除,但是因为其是100的整数倍,却不能被400整除,所以是平年;而2000年就是闰年;1904和2004、2008等直接能被4整除且不倍100整除,都是闰年。
--------------------------------------------------------- #Include <Date.au3>
msgbox(0,0,_DateIsValid(stringleft($str,4) &'/'&stringmid($str, 5, 2)&'/'&stringright($str, 2))) #Include
msgbox(0,0,_DateIsValid(stringleft($str,4) &'/'&stringmid($str, 5, 2)&'/'&stringright($st ...
netegg 发表于 2012-10-15 21:25 http://www.autoitx.com/images/common/back.gif
netegg 正解,受教了!! $a = "19980229"
$var = _DateIsValid( StringRegExpReplace($a,"(\d{4})(\d{2})(\d{2})","${1}-${2}-${3}") )
msgbox(48,0,$var)
$b = "19980229"
$var = _DateIsValid( StringRegExpReplace($b,"(\d{4})(\d{2})(\d{2})","${1}-${2}-${3}") )
msgbox(48,0,$var)
页:
[1]