完整年份未知或未指定时的 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 位数年份
我们在数据库中仅存储 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 位数年份