DateTime.TryParseExact 并解析多种日期格式

本文关键字:日期 格式 TryParseExact DateTime | 更新日期: 2023-09-27 18:32:47

我正在尝试查看字符串是否是有效的日期。我遇到了麻烦,因为日期是"2011–7–17 23:18:52"格式。我正在像这样测试:

String lstrTime = "2011–7–17 23:18:52";
DateTime datevalue; 
CultureInfo enUS = new CultureInfo("en-US");
if (DateTime.TryParseExact(lstrTime, "yyyy-MM-dd hh:mm:ss", enUS,
                     DateTimeStyles.None, out datevalue))
                        {
                            rtxtOutput.Text += "Valid datetime: " + lstrTime;
                        }

我认为我遇到麻烦的原因是因为日期只能有 1 M 值或 2 MM 几个月。我有大量数据要处理,并且不会将 M 更改为 MM。

编辑:我已经尝试了所有建议的链接,也许可能是文化信息无法识别24小时制(问号(

DateTime.TryParseExact 并解析多种日期格式

您需要

使用大写的 24 小时时间,即大写的 H,"yyyy-MM-dd HH:mm:ss"。

您可以尝试重载:

TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime(

https://learn.microsoft.com/en-us/dotnet/api/system.datetime.tryparseexact?view=net-6.0#system-datetime-tryparseexact(system-string-system-string-system-iformatprovider-system-globalization-datetimestyles-system-datetime@(