时间选择器:何时选择24或am/pm模式



我的应用程序中有几个时间选择器。

在我的国家(西班牙),我们习惯以24小时模式显示时间…但是在其他国家都是用am/pm。

我知道如何将时间选择器设置为24或am/pm模式…但是,根据设备区域设置或国家,显示am/pm或24的最佳方法是什么?我如何知道选择一种或另一种模式?

Thank you very much

(抱歉我的英语不好)

使用android.text.format.DateFormat:http://developer.android.com/reference/android/text/format/DateFormat.html

可以从源代码(frameworks/base/core/java/android/text/format/DateFormat.java)中看到,函数DateFormat.is24HourFormat()不仅仅是从Settings.System中请求TIME_12_24 .

据我所知,DateFormat.is24HourFormat()是一种更可靠的方式来获取用户时间格式。例如,因为Settings.System.getString()可以为TIME_12_24返回null(从DateFormat.java中可以看到)。

有几种方法可以做到这一点,其中第一种方法是仅使用设备设置,从而让用户做出此决定,但要注意在某些情况下可能返回空值,因此不可靠;

String clockType = android.provider.Settings.System.getString(context.getContentResolver(), android.provider.Settings.System.TIME_12_24);

一个更好的解是由wonder给出的。鼠标,它正在使用:

boolean is24HourFormat = DateFormat.is24HourFormat();

参见参考页面:http://developer.android.com/reference/android/text/format/DateFormat.html#is24HourFormat(android.content.Context)

最新更新