К сожалению, месяцы в классе Date
и классе Calendar
начинаются с нуля. (На мой взгляд, это была огромная ошибка проектирования в этих классах, и это только одна из многих ошибок проектирования в API даты и времени Java).
Обратите внимание, что класс Calendar
имеет константы для представления месяцев: Calendar.JANUARY
, Calendar.FEBRUARY
и т. Д. Используйте их вместо необработанных чисел.
Часто упоминаемый, гораздо лучший API даты и времени для Java: Joda Time . Обратите внимание, что есть предложение добавить новый API даты и времени в следующую версию Java, которая будет основана на Joda Time.