获取用户指定的系统短时间格式(非系统文化)
Get User Specified System Short Time Format (Not System Culture)
更新:系统的文化在应用程序的另一部分被硬编码,这就是为什么我得到正确但错误的结果。
我想获取系统的短时间格式,它可能与系统文化的短时间格式不同。
我需要将系统的短时间格式应用于 Winforms 中的 DateTimePicker
控件。
目前,这是我拥有的代码,它让我在短时间内获得系统文化,不是我想要的:
// `CurrentCulture` returns "{en-US}"
// `ShortTimePattern` returns "h:mm tt"
dtpTime.CustomFormat = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern;
dtpTime.Format = DateTimePickerFormat.Custom;
例如,我的系统设置为美国文化,但我的系统短时间设置为24 小时 格式。怎样才能得到系统的短时间而不是系统文化的短时间?
如有任何帮助或指导,我们将不胜感激。
用户可以通过转到 Start
>> Date & Time Settings
>>[=44= 来修改他们的日期和时间格式] Date, Time, & Regional Formatting
>> Change Data Format
请注意,短时间设置为 24 小时格式。
CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern
(和ShortDatePattern
)将匹配您的Windows'区域短时间和短日期设置。
这是我的电脑...
我的 CurrentCulture
是 en-GB
("English (United Kingdom)"),它有一个默认的短日期模式 dd/MM/yyyy
和一个默认的短时间模式共 HH:mm
.
我已将短日期模式覆盖为 yyyy-MM-dd
,将短时间模式覆盖为 hh:mm tt
。您可以在左侧的区域控制面板屏幕截图中看到这一点。
您可以在 LinqPad window 中看到 CultureInfo.Currentculture.DateTimeFormat
的 ShortTimePattern
和 ShortDatePattern
匹配我当前的 Windows 区域设置。
如果您使用的是 CurrentCulture
并且格式与区域控制面板不匹配,您可能需要重新启动应用程序。我不相信 CurrentCulture
会在系统设置更改时可靠地自行刷新。
更新:系统的文化在应用程序的另一部分被硬编码,这就是为什么我得到正确但错误的结果。
我想获取系统的短时间格式,它可能与系统文化的短时间格式不同。
我需要将系统的短时间格式应用于 Winforms 中的 DateTimePicker
控件。
目前,这是我拥有的代码,它让我在短时间内获得系统文化,不是我想要的:
// `CurrentCulture` returns "{en-US}"
// `ShortTimePattern` returns "h:mm tt"
dtpTime.CustomFormat = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern;
dtpTime.Format = DateTimePickerFormat.Custom;
例如,我的系统设置为美国文化,但我的系统短时间设置为24 小时 格式。怎样才能得到系统的短时间而不是系统文化的短时间?
如有任何帮助或指导,我们将不胜感激。
用户可以通过转到 Start
>> Date & Time Settings
>>[=44= 来修改他们的日期和时间格式] Date, Time, & Regional Formatting
>> Change Data Format
请注意,短时间设置为 24 小时格式。
CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern
(和ShortDatePattern
)将匹配您的Windows'区域短时间和短日期设置。
这是我的电脑...
我的
CurrentCulture
是en-GB
("English (United Kingdom)"),它有一个默认的短日期模式dd/MM/yyyy
和一个默认的短时间模式共HH:mm
.我已将短日期模式覆盖为
yyyy-MM-dd
,将短时间模式覆盖为hh:mm tt
。您可以在左侧的区域控制面板屏幕截图中看到这一点。您可以在 LinqPad window 中看到
CultureInfo.Currentculture.DateTimeFormat
的ShortTimePattern
和ShortDatePattern
匹配我当前的 Windows 区域设置。如果您使用的是
CurrentCulture
并且格式与区域控制面板不匹配,您可能需要重新启动应用程序。我不相信CurrentCulture
会在系统设置更改时可靠地自行刷新。