#java #android
#java #Android
Вопрос:
Почему это продолжает возвращать 0?
Calendar calendar = Calendar.getInstance();
calendar.get(Calendar.HOUR_OF_DAY)?
Комментарии:
1. Случайно, это не между 12:00 и 12: 59 утра в вашем часовом поясе?
2. Значение HOUR_OF_DAY находится в диапазоне от 0 до 24. Возможно, когда вы запускаете этот код, эквивалентное время равно 0. Вы пробовали запускать его в час?
Ответ №1:
Calendar.HOUR_OF_DAY
будет равно 0 всякий раз, когда время суток падает между полуночью и часом ночи. Так что, скорее всего, либо это происходит в этом временном интервале, где бы вы ни находились, либо ваш эмулятор Android настроен так, что он думает, что вы находитесь в этом временном интервале.
Если это не так, вы могли бы попробовать установить час в некоторое произвольное значение, а затем получить его снова, чтобы проверить, работает ли оно. Для этого попробуйте:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 5);
Ответ №2:
В идеале это не должно,
Попробуйте это
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.HOUR));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
Ничего не отличается от того, что у вас есть, за исключением того, что я пытаюсь напечатать год, час, число дня, минуту.
Комментарии:
1. хммм … может быть, это мой эмулятор Android? Но, похоже, это работает нормально: calendar.get(Календарь. ДЕНЬ_ ИЗ_НЕДЕЛИ);