我的应用中有一个时间选择器对话框。这很好用,但我想根据当前的语言环境在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();
答案 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");
}