Вычитание дней в Календарном объекте [дубликат]

11
задан Community 23 May 2017 в 12:32
поделиться

4 ответа

Не думаю, что это что-то изменит, но я бы использовал Calendar.DAY_OF_YEAR в качестве поля.

1
ответ дан 3 December 2019 в 06:45
поделиться

Если вы пытаетесь строго вычесть 365 дней, то да, это сработает. Однако, если вы пытаетесь вычесть годы назад, это может не сработать из-за високосного года.

0
ответ дан 3 December 2019 в 06:45
поделиться

Calendar.DAY_OF_YEAR - это правильный способ вычитания дней

Вы также можете вычесть год (с учетом високосного года), используя

Calendar calendar = Calendar.getInstance();
calendar.setTime(givenDate);
calendar.add(Calendar.YEAR, -1);
13
ответ дан 3 December 2019 в 06:45
поделиться

Это правильный способ вычитания дней.

Обратите внимание, что 365 дней не всегда равны одному году из-за високосных дней. calendar.add (Calendar.YEAR, -1) правильно вычитает один год.

Вы также можете использовать Joda Time -библиотеку вместо java.util.Date и java.util.Calendar . Joda Time - гораздо более удобный API для обработки времени и даты.

4
ответ дан 3 December 2019 в 06:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: