2010-04-24 78 views

回答

5

您使用DateTime.ParseExactDateTime.TryParseExact。你通过确切的格式字符串。

在你的情况下,格式字符串是d-MMM-yyyy(见here),可以使用如下:

string dateString = "31-JUL-2010"; 
string format = "d-MMM-yyyy"; 
DateTime result = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture); 
1

我不知道,如果正则表达式在VB.NET是可能的,但随后它会比较容易:

/[0-9] {2} - [A-ZA-Z] {3 } - [0-9] {4}/

当涉及到转义字符和匹配某些组时,这可能有点特定于语言。

+0

虽然正则表达式肯定是一个有效的方法您的样品将允许'99 FOO-0000 '这不是有效的日期。 – Filburt 2010-04-24 09:07:44

+0

这是事实 - 但我不应该回答这个问题,因为我也知道有API函数在这方面会更好。 – wvd 2010-04-24 09:10:19

+0

真相是我总是宽松的正则表达式超出你的样本,所以我希望你会更进一步,给我东西去“啊!”。 – Filburt 2010-04-24 09:21:06

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) 
相关问题