Почему он все время возвращает 11 ??? (Кстати, сейчас 16 часов по местному времени)

1
private void hour()
{
    Toast.makeText(this,String.valueOf(Calendar.HOUR_OF_DAY),Toast.LENGTH_LONG).show();
}
  • 1
    Здесь помогают стандарты кодирования и форматирования. В Java принято, чтобы константы записывались в верхнем регистре со словами, разделенными подчеркиванием.
  • 0
    Спасибо David и JRL, я постараюсь соблюдать правила :)
Теги:
time
calendar

1 ответ

5

Потому что вы просто проанализировали значение HOUR_OF_DAY, которое равно 11. Навсегда и всегда.

Вам нужно создать экземпляр GregorianCalendar, указать его текущую дату и использовать get(Calendar.HOUR_OF_DAY)

Пример кода:

Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(new Date());
int hour = calendar.get(Calendar.HOUR_OF_DAY);
  • 2
    Я сделал такую ошибку раньше. Делает хороший удар по лбу, когда вы найдете ошибку :)
  • 0
    Большое спасибо WarrenFaith :))
Показать ещё 1 комментарий

Ещё вопросы

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