C# 获取系统日历的时间格式

C# 获取系统日历的时间格式,c#,C#,我想知道系统时钟的时间格式是基于12小时还是基于24小时的C。DateTime可以使用hh:mm:ss和hh:mm等格式转换为12/42小时格式,但我想知道系统时钟使用的是哪种格式。有什么建议吗?您可以获取当前线程区域性信息: Thread.CurrentThread.CurrentCulture.DateTimeFormat 编辑: 澄清,小时格式hh/hh表示12/24小时设置。查找DateTimeFormat属性,如ShortTimePattern和LongtTimePattern。这不

我想知道系统时钟的时间格式是基于12小时还是基于24小时的C。DateTime可以使用hh:mm:ss和hh:mm等格式转换为12/42小时格式,但我想知道系统时钟使用的是哪种格式。有什么建议吗?

您可以获取当前线程区域性信息:

Thread.CurrentThread.CurrentCulture.DateTimeFormat
编辑:
澄清,小时格式hh/hh表示12/24小时设置。查找DateTimeFormat属性,如ShortTimePattern和LongtTimePattern。

这不是您的方法。您要求系统将时间设置为用户首选的格式。你不需要知道是12小时还是24小时。这意味着没有办法知道系统时钟的格式?方法可能是,1。立即获取System.DateTime.Now 2。抓紧时间第三部分。如果它小于12,并且没有AM/PM,则为12小时模式。我的观点是,您不应该关注12小时或24小时格式。那个细节太低了。您只需要将时间格式化为用户的首选项。让框架来处理细节。@David Heffernan:这就是我的观点。我想完全按照用户在日历设置中指定的时间显示时间。不同的用户可以有不同的格式,因此不可能以这种方式调整所有用户的格式。这说明了为当前区域性指定的格式。用户可以使用与日历设置中区域性中指定的格式不同的格式。在DateTimeFormat中,查找ShortTimePattern和LongtTimePattern等属性,当小时格式为HH时,表示设置了24小时格式,如果小时格式为hh,则日历设置为12小时格式。用户可以使用与当前区域性中定义的格式不同的格式。@NadeemAkhtar您能解释一下这是怎么回事吗possible@NadeemAkhtar如果用户在windows日历设置中更改时间格式,则当前区域性属性将反映该更改,前提是你没有随意设定文化。也许我们在谈论不同的设置。