DateTime.TryParse() 问题

Issue with DateTime.TryParse()

我有一个字符串 "2/15/50" 需要转换为日期时间格式,我正在使用以下代码:

DateTime.TryParse("2/15/50", out dt);

我得到的输出是:02/15/1950 12:00:00 AM

预期的输出是:02/15/2050 12:00:00 AM

有什么方法可以实现后者。欢迎提出使用其他功能的建议。我也尝试使用 Convert.ToDateTime 并且它 returns 与 TryParse.

相同的输出

这应该适合你,

CultureInfo ci = new CultureInfo("en-US");
ci.Calendar.TwoDigitYearMax = 2099;
DateTime.TryParse("2/15/50", ci, System.Globalization.DateTimeStyles.None, out DateTime dt)

这是关于该方法的文档,ParseExact 允许您指定格式等 https://docs.microsoft.com/en-us/dotnet/api/system.datetime.tryparse?view=net-5.0

这是我获取文化信息代码的地方 https://www.hanselman.com/blog/how-to-parse-string-dates-with-a-two-digit-year-and-split-on-the-right-century-in-c