Инициализирую календарь:
Calendar startDateTimeCalendar=new GregorianCalendar();
Смотрю в отладчик, я так понимаю сейчас в календаре лежит текущее время и дата, вот что написано в отладчике:
Fri Sep 21 14:27:41 EET 2018
Пытаюсь сделать так, чтобы время стало на начало дня:
startDateTimeCalendar.set(Calendar.HOUR,0);
startDateTimeCalendar.set(Calendar.MINUTE,0);
startDateTimeCalendar.set(Calendar.SECOND,0);
startDateTimeCalendar.set(Calendar.MILLISECOND,0);
Но почему-то время ставится вот такое:
Fri Sep 21 12:00:00 EET 2018
Если сделать конец дня, вот так:
startDateTimeCalendar.set(Calendar.HOUR,23);
startDateTimeCalendar.set(Calendar.MINUTE,59);
startDateTimeCalendar.set(Calendar.SECOND,59);
startDateTimeCalendar.set(Calendar.MILLISECOND,999);
То в отладчике видно, что в календаре теперь уже не конец дня, а вот какая дата:
Sat Sep 22 11:59:59 EET 2018
Почему так? Как исправить, чтобы устанавливалось начало дня и конец дня?
Решился вопрос, оказывается нужно было использовать другую константу для установки часов, именно HOUR_OF_DAY.
Вот правильный пример:
startDateTimeCalendar.set(Calendar.HOUR_OF_DAY,23);
startDateTimeCalendar.set(Calendar.MINUTE,59);
startDateTimeCalendar.set(Calendar.SECOND,59);
startDateTimeCalendar.set(Calendar.MILLISECOND,999);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники