更改 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") '''
是否可以使用 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") '''