更改 CultureInfo 中的最大和最小日期

Change the max and min date in CultureInfo

是否可以使用 CultureInfo("ar-SA") 或任何一般文化更改 DateTimePicker 的最大和最小日期?

这是更改文化的示例代码:

Dim CultureInfo As CultureInfo
CultureInfo = New CultureInfo("ar-SA")
CultureInfo.DateTimeFormat.Calendar = New System.Globalization.GregorianCalendar
Thread.CurrentThread.CurrentUICulture = CultureInfo
Application.CurrentCulture = CultureInfo 

如果随后打开包含 DateTimePicker (DTP) 的新 window,则该 DTP 具有:

.MinDate = 1900-04-30
.MaxDate = 2077-11-16

在不设置 CultureInfo 的情况下,DTP 的值为

.MinDate = 1753-01-01
.MaxDate = 9998-12-31

尝试将 DTP.MinDate 设置为 New DateTime(1800, 1, 1) 会出现以下错误:

DateTimePicker does not support dates before 04/30/1900 12:00:00 ص.

并尝试将 DTP.MaxDate 设置为 New DateTime(2100, 1, 1) 会出现以下错误:

DateTimePicker does not support dates after 12/31/9998 12:00:00 ص.

另外,请注意后一种情况下年份的差异。

通过添加以下行解决问题:''' Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US") '''