Я нашел другой способ, который немного менее окольный, чем принятый ответ:
DateFormat format;
// ...
boolean is24Hour;
if (format instanceof SimpleDateFormat) {
SimpleDateFormat sdf = (SimpleDateFormat)format;
String pattern = sdf.toPattern();
is24Hour = !pattern.contains("a");
}
Все еще довольно грубый, и он не будет работать с другими DateFormat
конкретными типами, но стандартными способами полученияDateFormat
объект, кажется, возвращает SimpleDateFormat
.