VB中请问如何判断输入的日期格式对不对?
代码如图所示,请问如何判断我输入text1中的text是不是对的格式?谢谢各位大侠,如何修改呢?...
代码如图所示,请问如何判断我输入text1中的text是不是对的格式?
谢谢各位大侠,如何修改呢? 展开
谢谢各位大侠,如何修改呢? 展开
2个回答
展开全部
If IsDate(Text1.Text) Then
MsgBox "正确的日期格式"
Else
MsgBox "错误的日期格式"
End If
要再高级点就是:
If IsDate(Text1.Text) Then
If Format(Text1.Text, "yyyy-m-d") = Text1.Text Then
MsgBox "正确的日期格式"
Else
MsgBox "不是指定的日期格式(yyyy-m-d)"
End If
Else
MsgBox "错误的日期格式"
End If
展开全部
这样修改:
Private Sub Form_Click()
Dim a As Long, b As Long, c As Long, d As Long
Dim m As Boolean, n As Boolean, i As Boolean
m = True
n = True
i = True
a = Val(InputBox("请输入日期", "", 19491001))
b = Left(a, 4)
c = Mid(a, 5, 2)
d = Right(a, 2)
If b >= 1900 And c <= 3000 Then
m = True
Else
m = False
End If
If c >= 1 And c <= 12 Then
n = True
Else
n = False
End If
If c = 1 Or c = 3 Or c = 5 Or c = 7 Or c = 8 Or c = 10 Or c = 12 Then
If d <= 31 And d > 0 Then
i = True
Else
i = False
End If
End If
If c = 4 Or c = 6 Or c = 9 Or 11 Then
If d <= 30 And d > 0 Then
i = True
Else
i = False
End If
End If
If c = 2 Then
If d > 0 And d <= 28 Then
i = True
Else
i = False
End If
End If
If (b Mod 4 = 0 And b Mod 100 <> 0) Or b Mod 400 = 0 And c = 2 Then
If d > 0 And d <= 29 Then
i = True
Else
i = False
End If
End If
If i = True And m = True And n = True Then
Print "输入的日期正确"
Else
Print "日期错误! "
End If
End Sub
可判断1900年-3000年的大小月,闰年。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询