Проблема с форматом времени

1

Я написал следующий код, чтобы получить время

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

Как изменить код.

  • 0
    Что было фактическое время , когда вы получили 01:07 выход? Было ли это 1:07 утра или 1:07 вечера?
  • 0
    developer.android.com/reference/java/util/Calendar.html
Показать ещё 1 комментарий
Теги:
time

5 ответов

3
Лучший ответ

Используйте HOUR_OF_DAY вместо HOUR.

  • 0
    где в календаре. HOUER_OF_DAY?
  • 0
    Спасибо, это сработало
1

Здесь код:

Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
String time = hour + ":" + minute;
1

Вместо этого используйте Calendar.HOUR_OF_DAY.

1

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.

0

HH: mm правильный. 01:07 - 1:00 и 13:07 - 13:00. Подождите до 1 часа и просмотрите или создайте объект даты и проверьте его.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню