2

(データベースから取得された)日付を表示するdatetimepickerを使用しています。いくつかのマシンでアプリケーションを実行しましたが、Windows XP SP2 では、取得して表示できる最大日付は 2020 年ですが、OS のそれ以降のバージョンでは、最大日付が 2999 など、より高くなる可能性があることがわかりました。この問題について知っていますか?

ご協力ありがとうございました。ジンジン

4

1 に答える 1

2

システムによっては、DateTime.MaxValue プロパティを使用して、可能な最大の日付を取得できます。オーバーフローが原因で日付の読み取りに問題がある場合は、DateTime.TryParse() メソッドを使用して、例外をスローせずに値の読み取りを試みることができます。

更新: Martinho は正しいです。MSDN から:

UmAlQuraCalendar などの一部のカレンダーは、MaxValue より前の日付範囲の上限をサポートしています。このような場合、変数の割り当てまたはフォーマットおよび解析操作で MaxValue にアクセスしようとすると、ArgumentOutOfRangeException がスローされる可能性があります。DateTime.MaxValue の値を取得するのではなく、System.Globalization.CultureInfo.DateTimeFormat.Calendar.MaxSupportedDateTime プロパティから、指定されたカルチャの最新の有効な日付値の値を取得できます。

そのため、このフィールドを使用しSystem.Globalization.CultureInfo.DateTimeFormat.Calendar.MaxSupportedDateTimeて、システムでサポートされている最大の日付値を取得してください。

于 2010-12-22T17:31:10.670 に答える