VB中请问如何判断输入的日期格式对不对?

代码如图所示,请问如何判断我输入text1中的text是不是对的格式?谢谢各位大侠,如何修改呢?... 代码如图所示,请问如何判断我输入text1中的text是不是对的格式?
谢谢各位大侠,如何修改呢?
展开
 我来答
网海1书生
科技发烧友

推荐于2017-10-14 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
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
追问
涩果子3719
2017-08-27
知道答主
回答量:9
采纳率:0%
帮助的人:3775
展开全部

这样修改:

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年的大小月,闰年。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式