用于解析 DateTime 的两种不同的字符串格式

问题描述

我必须解析两种不同的 DateTime 格式:dd/MM/yyydd-MM-yy。 该字符串来自 item.EmploymentDate,它通常是两种格式之一,我需要将其解析为 DateTime 对象。

到目前为止我的代码

var formatStrings = new string[] { "dd/MM/yyyy","dd-MM-yyy" };
DateTime.TryParseExact(item.EmploymentDate,formatStrings,CultureInfo.InvariantCulture,DateTimeStyles.None,out DateTime resultDate);
employee.Details.EmploymentDate = resultDate;

然而,resultDate 最终成为认的 DateTime 对象 {1/1/0001 12:00:00 AM},而不是来自 item.EmploymentDate 的值。我可以确认它们不为空。第一个"30-03-1999"。 我做错了什么?

解决方法

yyy 中有三个 "dd-MM-yyy" 而不是 yyyy,但是 30-03-1999 有 4 位年份