2

我正在使用显示日期的日期时间选择器(从数据库中检索)。我在几台机器上运行了我的应用程序,我发现在 Windows XP SP2 上,可以检索和显示的最大日期是 2020 年,但对于更高版本的操作系统,最大日期可能更高,例如 2999。知道这个问题吗?

感谢您的帮助。晶晶

4

1 回答 1

2

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

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

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

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

于 2010-12-22T17:31:10.670 回答