2010-12-22 94 views
2

我正在使用datetimepicker显示日期(从数据库中检索)。我已经在几台机器上运行我的应用程序,并且我发现在Windows XP SP2上,可以检索并显示的最大日期是2020年,但对于更高版本的操作系统,最大日期可能更高。有人知道这个问题吗?C#DateTimePicker Max日期范围

谢谢你的帮助。 Jing Jing

回答

2

您可以使用DateTime.MaxValue属性检索最大可能的日期,具体取决于系统。如果由于溢出而导致读取日期时遇到问题,可以使用DateTime.TryParse()方法尝试读取该值而不引发异常。

更新: 马蒂尼奥是正确的。从MSDN:

一些挂历,如 UmAlQuraCalendar,支持早于 的MaxValue上 日期范围。在这些情况下,尝试访问 变量 中的MaxValue赋值或格式和解析 操作可能会抛出 ArgumentOutOfRangeException。而是 不是检索 DateTime.MaxValue的价值,你可以检索 从 System.Globalization.CultureInfo.DateTimeFormat.Calendar.MaxSupportedDateTime 属性指定的区域性的 最新的有效日期值的值。

因此,请使用System.Globalization.CultureInfo.DateTimeFormat.Calendar.MaxSupportedDateTime字段来获取系统支持的最大日期值。

+1

对不起,但不是,DateTime.MaxValue不依赖于系统。 DateTime.MaxValue是23:59:59.9999999,9999年12月31日,也就是说,在1月1日00:00:00之前1纳秒,也就是说,3155378975999999999 刻度。 – 2010-12-22 17:33:26