質問

日付を表示するDateTimePickerを使用しています(データベースから取得します)。私はいくつかのマシンでアプリケーションを実行しましたが、Windows XP SP2では、取得および表示できる最大日付は2020であることがわかりましたが、OSの後のバージョンでは、最大日付は2999です。この問題について知っていますか?

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

役に立ちましたか?

解決

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

アップデート:マティーニョは正しいです。 MSDNから:

Umalquracalendarなどの一部のカレンダーは、MaxValueよりも早い上部日付範囲をサポートしています。これらの場合、可変割り当てまたはフォーマットおよび解析操作でmaxValueにアクセスしようとすると、rawoutOutOfRangeExceptionがスローされる可能性があります。 datetime.maxvalueの値を取得するのではなく、System.globalization.cultureinfo.datetimeformat.calendar.maxsupporteddateTimeプロパティから指定された文化の最新の有効な日付値の値を取得できます。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top