要解析/验证三种预期格式,您可以使用如下所示的内容.鉴于这种模式,一旦你知道它是有效的,你可以用它string.Split来获得第一部分; 如果你需要更优雅的东西,你可以TryParseExact依次使用每个模式并提取所需的部分(或重新格式化).
string s1 = "12/August/2010",
s2 = "August/12/2010",
s3 = "2010/12/August";
string[] formats = { "dd/MMMM/yyyy", "MMMM/dd/yyyy", "yyyy/dd/MMMM" };
DateTime d1 = DateTime.ParseExact(s1, formats,
CultureInfo.CurrentCulture, DateTimeStyles.None),
d2 = DateTime.ParseExact(s2, formats,
CultureInfo.CurrentCulture, DateTimeStyles.None),
d3 = DateTime.ParseExact(s3, formats,
CultureInfo.CurrentCulture, DateTimeStyles.None);
Run Code Online (Sandbox Code Playgroud)