在c#中将日期时间限制为2000年之后的日期

本文关键字:日期 2000年 之后 时间 | 更新日期: 2023-09-27 18:17:34

所以我有一个代码,将3个以"/"分隔的数字转换为可能的最早日期。所以9/22/12就是2012-Sept-22。然而,有些日期早在1933年就出现了。我想知道如何将日期限制在2000年之后。这是打印日期的代码:

String v = Convert.ToString(year);
             String x = Convert.ToString(mon);
             String w = Convert.ToString(day);
             String z = v + "-" + x + "-" + w;
             DateTime fg;
             if (DateTime.TryParse(z, out fg)){
                  String hh = fg.ToString();
                  DateTime dt = DateTime.Parse(hh, cultureinfo);
                 Console.Write(dt);
             }

在c#中将日期时间限制为2000年之后的日期

早在2000年问题出现时,人们就在争先恐后地研究如何处理旧系统中的两位数日期,因为旧系统从未为完整的四位数分配空间。如果可能的话,我建议您在自己的系统中避免使用两位数的日期。

处理现有两位数日期的一种技术是引入一个称为日期窗口的概念,其中较低数字的日期将被解释为2000年的日期,较高数字的日期将被解释为1900年的日期。这在很多情况下都有效,但结果是一位105岁的老太太收到了注册幼儿园的邀请(以及许多其他问题)。

事情就发生在这里。

可以使用Calendar控制用于确定两位数年份是当前世纪还是上一个世纪的截止值。TwoDigitYearMax

此属性允许将2位数的年份正确转换为4位数的年份。例如,该属性设置为2029,则100年范围为1930 ~ 2029。因此,2位数的值30被解释为1930,而2位数的值29被解释为2029。