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

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

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

向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
追问
TableDI
2024-07-18 广告
在Excel中,字符串匹配函数主要用于查找和定位特定字符串在文本中的位置或进行替换操作。常用的字符串匹配函数包括FIND、SEARCH、SUBSTITUTE和REPLACE等。FIND和SEARCH函数用于查找字符串的位置,而SUBSTIT... 点击进入详情页
本回答由TableDI提供
涩果子3719
2017-08-27
知道答主
回答量:9
采纳率:0%
帮助的人:3716
展开全部

这样修改:

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

提交
取消

辅 助

模 式