我正在尝试确定当前区域设置为 12 小时还是 24 小时,并相应地设置 am/pm。这是我现在得到的,但无论是否设置为 24,它都始终显示 am/pm。
if (DateFormat.is24HourFormat(this))
{
mHour = mCalendar.get(Calendar.HOUR_OF_DAY);
int hourOfDay = mHour;
if (hourOfDay>12)
views.setTextViewText(R.id.AMPM, "pm");
if (hourOfDay==12)
views.setTextViewText(R.id.AMPM, "pm");
if (hourOfDay<12)
views.setTextViewText(R.id.AMPM, "am");
}
else {
views.setTextViewText(R.id.AMPM, "");
}
最佳答案
不应该
if (!DateFormat.is24HourFormat(this))
您只想在未设置为 24 小时格式时分配 am/pm,对吗?
这是一个更紧凑的版本:
if (!DateFormat.is24HourFormat(this)) {
mHour = mCalendar.get(Calendar.HOUR_OF_DAY);
int hourOfDay = mHour;
if (hourOfDay >= 12) {
views.setTextViewText(R.id.AMPM, "pm");
} else {
views.setTextViewText(R.id.AMPM, "am");
}
} else {
views.setTextViewText(R.id.AMPM, "");
}
关于android - 如何检查系统是 12 小时还是 24 小时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392636/