我想以这种格式轻松验证日期,只有这种格式。任何otehr格式都应视为无效。
答案 0 :(得分:5)
您使用DateTime.ParseExact
或DateTime.TryParseExact
。您将通过确切的格式字符串。
在您的情况下,格式字符串为d-MMM-yyyy
(请参阅here),可以按如下方式使用:
string dateString = "31-JUL-2010";
string format = "d-MMM-yyyy";
DateTime result = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);
答案 1 :(得分:3)
Dim DateToTest As String = "01-Apr-1964"
Dim ResultDate As Date
Date.TryParseExact(DateToTest, "dd-MMM-yyyy", Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.AllowWhiteSpaces, ResultDate)
答案 2 :(得分:1)
我不知道在VB.NET中是否可以使用正则表达式,但它会相对容易:
/ [0-9] {2} - [A-ZA-Z] {3} - [0-9] {4} /
当涉及转义字符并匹配某些组时,这可能是一种特定于语言的语言。