完整年份未知或未指定时的 C# 日期转换问题

C# Date Conversion Issue when complete year is unknown or not specified

我们在数据库中仅存储 4 位数字的出生日期字段。例如,如果出生日期为 1991 年 8 月 5 日,则存储为 050891

这里的问题是当我们执行以下操作时:

Convert.ToDateTime("05/08/28") -> it produces 05 08 2029

Convert.ToDateTime("05/08/30") -> it produces 05 08 1930 

谁能帮我理解为什么第一个约会年份被认为是 2029 年,而在第二种情况下是 1930 年而不是 2030 年。

.Net 如何确定年份?

这是展示结果的 .Net fiddle

在您的第一个 .NET 示例中,您写了 05/08/29,所以年份 2029 没问题。

使用 Calendar.TwoDigitYearMax 属性.

将 2 位数年份转换为 4 位数年份