C# NET中是否有一个DateTime设置,可以根据区域性自动将格式设置为12或24小时时钟?
基本上,这个问题说明了一切:我想能够设置一个日期和时间的格式,除了12/24时钟设置,它应该从文化设置中获取 例如,对于en-US,我想要C# NET中是否有一个DateTime设置,可以根据区域性自动将格式设置为12或24小时时钟?,c#,.net,datetime,time,datetime-format,C#,.net,Datetime,Time,Datetime Format,基本上,这个问题说明了一切:我想能够设置一个日期和时间的格式,除了12/24时钟设置,它应该从文化设置中获取 例如,对于en-US,我想要h:mm tt(下午3:34),对于fr-frh:mm(15:34) 我是否应该手动编写代码: string format = CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("tt") ? "h:mm tt" : "H:m
h:mm tt
(下午3:34),对于fr-frh:mm
(15:34)
我是否应该手动编写代码:
string format = CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("tt") ? "h:mm tt" : "H:mm"
还是有更优雅的方式
这里有一个类似的问题:但作者想强制使用AM/PM时钟,但保留时间/日期本地格式不变,这与我的问题相反。有几种不同的方法来解决这个问题:
- 您可以按照建议执行,测试
是否存在:tt
cultureInfo.DateTimeFormat.ShortTimePattern.Contains("tt")
- 同样,您可以测试AM或PM指示符字符串是否存在。(我认为这稍微可靠一些。)
- 您可以使用
替换任何要修改或删除的令牌ShortTimePattern
- 您可以按原样使用
,并相信该格式适合用户ShortTimePattern
- 您可以按照建议执行,测试
是否存在:tt
cultureInfo.DateTimeFormat.ShortTimePattern.Contains("tt")
- 同样,您可以测试AM或PM指示符字符串是否存在。(我认为这稍微可靠一些。)
- 您可以使用
替换任何要修改或删除的令牌ShortTimePattern
- 您可以按原样使用
,并相信该格式适合用户ShortTimePattern