在安卓系统中如何检查当前语言环境是否使用24小时制?

10

我在我的应用程序中有一个时间选择对话框。这个功能很正常,但是我想根据当前语言环境在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个回答

22

试一下这个

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

如果用户偏好设置为24小时格式,则返回true

关于DateFormat的更多信息,请在此处查看。


啊,我完全忘记了用户可以独立于语言环境设置它。这个方法非常好用,谢谢! - manabreak

-2

试试这个

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

这并没有回答问题。我想根据时钟的显示方式填充布尔变量。 - manabreak
这需要 Joda 吗? - Virthuss

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接