注册 登录
编程论坛 ASP技术论坛

如何判断这种日期格式yyyy-MM-dd

theend12 发布于 2010-11-04 13:24, 3375 次点击
不要JS的代码。

求可以判断输入的日期格式是否为:yyyy-MM-dd  这种的函数
10 回复
#2
zmh8862010-11-04 14:02
left
mid
right
year
month
day
#3
theend122010-11-04 15:07
回复 2楼 zmh886
要怎么写呢?
我用最笨的方法,自己想出来的,判断输入的位数为8,9,10 或者<8   >10 最后还是没成功。基础差,没逻辑思维。
求大家帮忙写一个呀
#4
zmh8862010-11-05 15:17
看来我好象弄错了

s = "2010-11-5"
a = Split(s, "-")
If Val(a(0)) > 0 And Val(a(0)) < 9999 And Val(a(1)) < 13 And Val(a(1)) > 0 And Val(a(2)) > 0 And Val(a(2)) < 31 Then
 response.write "- -"
End If

Function val(str)
    val = sz(str)
    While sz(str) = ""
        str = Left(str, Len(str) - 1)
    Wend
    If Len(str) = 0 Then val = 0 Else val = sz(str)
End Function

Function sz(str)
    On Error Resume Next
    sz = CDbl(str)
End Function
#5
ikonglin2010-11-05 17:10
function pd(val)
dim val,datestr,i
val=str
if len(var)=9 and isdate(var) then
if mid(var,5,1)="-" and mid(var,8,1)="-" then
return var
else
val=""
end if
end if


[ 本帖最后由 ikonglin 于 2010-11-5 12:43 编辑 ]
#6
hams2010-11-05 18:44
a="2000-1-1"
if IsDate(a) then
...
else
...
end if
#7
hams2010-11-05 18:48
a="2000-01-01"
if IsNumeric(mid(a,1,4)) AND Mid(a,5,1)="-" AND mid(a,6,2)>0 AND mid(a,6,2)<13 AND Mid(a,8,1)="-" AND mid(a,9,2)>0 AND mid(a,9,2)<32 then
...
#8
theend122010-11-05 18:50
回复 5楼 ikonglin
这个和我的水平差不多。。。
#9
theend122010-11-05 18:51
回复 4楼 zmh886
这个不错,逻辑性比较强,学习了!
#10
theend122010-11-05 18:52
回复 6楼 hams
没办法,最后我还是用的这个最简单的
#11
ikonglin2010-11-05 19:40
其实写代码并不是越复杂越好,只要能达到效果,哪怕是看上去像三岁小孩写的都行,用最简单的函数,最简单的算法就是好的
1