Проблема с форматом времени - PullRequest
1 голос
/ 04 июля 2011

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

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

01: 07

Но мне нужно в формате 24 часа, например:

11: 59

13: 07

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

Ответы [ 5 ]

3 голосов
/ 04 июля 2011

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

1 голос
/ 04 июля 2011

Вот код:

Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
String time = hour + ":" + minute;
1 голос
/ 04 июля 2011

Calendar.HOUR = Номер поля для получения и установки с указанием часа утра или дня. ЧАС используется для 12-часовых часов. Например, в 10: 04: 15.250 часов ЧАС - 10.

Calendar.HOUR_OF_DAY = Номер поля для получения и установки с указанием часа дня. HOUR_OF_DAY используется для 24-часовых часов. Например, в 10: 04: 15.250 PM HOUR_OF_DAY - 22.

1 голос
/ 04 июля 2011

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

0 голосов
/ 04 июля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...