C # DateTimePicker Max Диапазон дат - PullRequest
2 голосов
/ 22 декабря 2010

Я использую datetimepicker, который отображает дату (которая извлекается из базы данных).Я запустил свое приложение на нескольких компьютерах и обнаружил, что в Windows XP с пакетом обновления 2 (SP2) максимальная дата, которую можно извлечь и отобразить, равна 2020, но для более поздних версий ОС максимальная дата может быть выше, например, 2999.знаете об этой проблеме?

Спасибо за вашу помощь.Цзин Цзин

1 Ответ

2 голосов
/ 22 декабря 2010

Вы можете использовать свойство DateTime.MaxValue для получения максимально возможной даты, в зависимости от системы. Если у вас возникают проблемы с чтением дат из-за переполнения, вы можете использовать методы DateTime.TryParse (), чтобы попытаться прочитать значение, не вызывая исключения.

UPDATE: Мартинью прав. Из MSDN:

Некоторые календари, такие как UmAlQuraCalendar, поддержка верхнего диапазон дат ранее MaxValue. В этих случаях пытается получить доступ к MaxValue в переменной присваивания или форматирования и разбора операции могут бросить ArgumentOutOfRangeException. Скорее чем извлечение значения DateTime.MaxValue, вы можете получить значение указанной культуры последнее действительное значение даты из System.Globalization.CultureInfo.DateTimeFormat.Calendar.MaxSupportedDateTime свойство.

Итак, используйте поле System.Globalization.CultureInfo.DateTimeFormat.Calendar.MaxSupportedDateTime, чтобы получить максимальное значение даты, поддерживаемое системой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...