基于字符串的DateTime格式或模式检查

ven*_*kat 0 .net c# regex

我有一个日期时间字符串.

string strDate = "20140424_18255375";
Run Code Online (Sandbox Code Playgroud)

如何验证日期时间是否采用此格式 YYYYMMDD_HHmmssff

我试过了:

bool isTrue = DateTime.TryParseExact(strDate, "YYYYMMDD_HHmmssff", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
Run Code Online (Sandbox Code Playgroud)

如果有更好的方法可以使用RegEx或任何正常方式验证日期时间,请提供帮助.

Jon*_*eet 6

使用TryParseExact是正确的方法,但您需要使用正确的格式说明符.在这种情况下,我想你想要:

bool valid =  DateTime.TryParseExact(strDate, "yyyyMMdd_HHmmssff", 
                   CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
Run Code Online (Sandbox Code Playgroud)

注意使用的yyyy,而不是YYYYdd代替DD.格式说明符区分大小写.