我需要确定当前的文化/语言环境是否设置为使用 am/pm 时间或 24 小时时间。
起初我以为我可以这样做:
bool time24Hour = Thread.CurrentThread.CurrentCulture.DateTimeFormat.AMDesignator == "";
但后来我阅读了对该线程最后一个答案的评论Get just the hour of day from DateTime using either 12 or 24 hour format as defined by the current culture这似乎意味着这行不通。
我想我可以格式化任意时间,然后分析结果,但肯定有更简单的方法吗?
编辑:
另请参阅下面我的评论-我只想确定应该选择包含小时列表的两个预先格式化的常量字符串中的哪一个,并希望避免大量不必要的扭曲-我只需要一个是/否的答案是上午/下午文化或 24 小时文化。
该程序是一个 WinForms 程序,如果有帮助的话。
最佳答案
尝试检查是否 DateTimeFormat.ShortTimePattern包含 H
.如果是,则系统使用 24 小时制
关于.net - 如何确定当前文化/语言环境是使用 am/pm 还是 24 小时时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302856/