.net - 如何确定当前文化/语言环境是使用 am/pm 还是 24 小时时间?

标签 .net time

我需要确定当前的文化/语言环境是否设置为使用 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/

相关文章:

.net - SQL中默认的最大事务超时是多少

for-loop - Erlang 函数 for()?

PostgreSQL: "timestamp with time zone"和 "at time zone"的别名

.net - WSMan PowerShell 提供商?

c# - 如何格式化具有固定宽度字段的字符串

c# - Blazor 问题 "getting started"

c# - 如何在 .NET 3.5+ 中获取用户的 "flat"域名

android - 尝试每天在我的android项目中的重复时间在我的textview中执行文本更改

c++ - MFC/C++ : Need distant "wall clock" time without resetting my system's time

r - 打印脚本在 R 中运行的时间