如何确定当前文化/区域设置是使用上午/下午或24小时?

Ren*_*Pet 7 .net time

我需要确定当前的culture/locale是否设置为使用am/pm时间或24小时时间.

起初我以为我可以这样做:

bool time24Hour = Thread.CurrentThread.CurrentCulture.DateTimeFormat.AMDesignator == "";
Run Code Online (Sandbox Code Playgroud)

但后来我阅读了关于这个帖子的最后一个答案的评论从DateTime获取当前文化所定义的12或24小时格式的一天中的小时,这似乎意味着这不起作用.

我想我可以格式化任意时间,然后分析结果,但肯定有一种更简单的方法吗?

编辑:

另请参阅下面的评论 - 我只想确定两个预先格式化的常量字符串中的哪一个包含我应该选择的小时列表,并希望避免许多不必要的扭曲 - 我只需要一个是/否答案是否这个是上午/下午的文化或24小时文化.

该程序是一个WinForms程序,如果有任何帮助.

dar*_*mos 10

尝试检查DateTimeFormat.ShortTimePattern是否包含H.如果是,则系统使用24小时制