以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何判断日期格式  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=119034)

--  作者:okok0611
--  发布时间:2018/5/16 15:21:00
--  如何判断日期格式
请问如何判断一个字符串是否符合规定的日期格式?
比如,我要求的字符串格式是“yyyy-mm-dd”,如何别人给我的报表上有的是"2017.9",有的是“2017年9月”,有的是“2017/9/30”,等等,这些格式不符合要求,请问使用代码如何判断?

--  作者:有点甜
--  发布时间:2018/5/16 15:27:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/0324.htm

 


--  作者:okok0611
--  发布时间:2018/5/16 15:36:00
--  
"2017.9",“2017年9月”这类格式,使用TryParse判断不报错,还有其他办法吗?

--  作者:有点甜
--  发布时间:2018/5/16 15:44:00
--  
Dim pattern As String = "^[1-9]\\d{3}-(0[1-9]|1[0-2]|[1-9])-(0[1-9]|[1-2][0-9]|3[0-1]|[1-9])$"
Dim txt As String= "2017-9-1" \'2017年9月
Dim rgx = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
If rgx.isMatch(txt) = False Then
    msgbox("请输入正确的日期!")
Else
    msgbox("正确")
End If

--  作者:okok0611
--  发布时间:2018/5/16 15:51:00
--  
解决了,感谢!