如何检查当前区域设置是否在Android中使用24小时制?

时间:2015-08-10 09:12:02

标签: android

我的应用中有一个时间选择器对话框。这很好用,但我想根据当前的语言环境在12小时和24小时选择器对话框之间切换。如何找出使用的时钟?

对话框本身就像这样启动:

boolean use24HourClock = true; // This i'd like to get from the locale
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener()
{
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute)
    {

    }
}, 12, 00, use24HourClock).show();

2 个答案:

答案 0 :(得分:15)

试试这个

boolean use24HourClock = DateFormat.is24HourFormat(getApplicationContext());

如果用户首选项设置为 24-hou r格式,则返回 true

详细了解DateFormat here

答案 1 :(得分:-1)

试试这个

public static boolean usesAmPm(Locale locale)
{
    String pattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(
    FormatStyle.MEDIUM, FormatStyle.MEDIUM, IsoChronology.INSTANCE, locale);
    return pattern.contains("a");
}
相关问题