是否可以从DateTime类本身获取DateTime格式进行解析?我们有不同的系统以各种格式返回日期时间,如何在不知道正确的正则表达式模式的情况下解析它们?
答案 0 :(得分:0)
使用TryParse
并尝试各种格式,从最受欢迎的格式开始。正确构建DateTime
后,TryParse
将返回true,您可以使用此DateTime
。否则,尝试另一种模式。
例如:
internal DateTime ParseDateString(string dateString)
{
DateTime myDateTime;
var attempt1 = doSomeRegex(dateString);
if (DateTime.TryParse(attempt1, out myDateTime))
{
return myDateTime;
}
var attempt2 = anotherRegex(dateString);
if (DateTime.TryParse(attempt2, out myDateTime))
{
return myDateTime;
}
var attempt3 = lastChanceRegex(dateString);
if (DateTime.TryParse(attempt3, out myDateTime))
{
return myDateTime;
}
throw new ArgumentException($"Error parsing date string: {dateString}", nameof(dateString));
}