Я написал следующий код, чтобы получить время
public String getTime() {
final Calendar cld = Calendar.getInstance();
String time = cld.get(Calendar.HOUR) + ":" + (cld.get(Calendar.MINUTE));
try {
Date date = new SimpleDateFormat("HH:mm").parse(time);
time = new SimpleDateFormat("HH:mm").format(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return time;
}
Это всегда дает мне время, как
11:59
1:07
Но мне нужно в 24-часовом формате, как:
11:59
13:07
Как изменить код.
Используйте HOUR_OF_DAY
вместо HOUR
.
Здесь код:
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
String time = hour + ":" + minute;
Вместо этого используйте Calendar.HOUR_OF_DAY
.
Calendar.HOUR = Номер поля для получения и установки, указывающий час утра или днем. ЧАС используется для 12-часовых часов. Например, в 10: 04: 15 ч.
Calendar.HOUR_OF_DAY = номер поля для get и set, указывающий час дня. HOUR_OF_DAY используется для 24-часовых часов. Например, в 10: 04: 15.250 PM HOUR_OF_DAY равно 22.
HH: mm правильный. 01:07 - 1:00 и 13:07 - 13:00. Подождите до 1 часа и просмотрите или создайте объект даты и проверьте его.