How do I check if system is 12 or 24 hour?
android, locale, time
Solution
Shouldn't it be
if (!DateFormat.is24HourFormat(this))
You want to assign am/pm only when it is not set to 24 hour format, right?
Here is a more compact version:
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, "");
}
Problem
I am trying to determine if the current locale is set to 12 or 24 hour, and set am/pm accordingly. This is what I have got right now, but it shows am/pm all the time regardless if it is set to 24. ``` 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, ""); } ```