Дата календаря Java

Calendar now = Calendar.getInstance();
    
    System.out.println("Current date : " + (now.get(Calendar.MONTH) + 1)
                        + "-"
                        + now.get(Calendar.DATE)
                        + "-"
                        + now.get(Calendar.YEAR));

почему мы добавляем +1 к now.get(Calendar.MONTH), чтобы получить текущую дату? Заранее спасибо.


person Sunil S R    schedule 10.07.2021    source источник
comment
потому что месяц java основан на нуле... Январь считается нулем. В то время как в реальном мире январь — первый месяц (1)   -  person Toerktumlare    schedule 10.07.2021
comment
Я рекомендую вам не использовать Calendar. Этот класс плохо спроектирован и давно устарел. Вместо этого используйте LocalDate из java.time, современного API даты и времени Java. Также для печати в удобном для человека формате используйте DateTimeFormatter.   -  person Ole V.V.    schedule 10.07.2021
comment
Пример: LocalDate.now(ZoneId.systemDefault()).format(DateTimeFormatter.ofPattern("M-d-y")). В моем часовом поясе он просто дал 7-10-2021. И нет ничего смешного в добавлении 1.   -  person Ole V.V.    schedule 10.07.2021