Как лучше всего получить количество дней за месяц, используя Java.Time API?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как лучше всего получить количество дней за месяц, используя Java.Time API?

Сообщение Anonymous »

Мне нужно определить количество дней в месяце, представленной месячной частью java.time.zonedDateTime . Я придумал три способа, которые, кажется, работают. Дано: < /p>

ZonedDateTime date = _some date_;
< /code>

опция 1: < /p>

int daysInMonth = date.getMonth().length(date.getChronology().isLeapYear(date.getYear()));
< /code>

опция 2: < /p>

int daysInMonth = date.getMonth().length(date.toLocalDate().isLeapYear());
< /code>

опция 3: < /p>

int daysInMonth = YearMonth.from(date).lengthOfMonth();
< /code>

Я обнаружил вариант 3, проверяя этот вопрос на дубликаты (количество дней в конкретном месяце конкретного года?). Мне не хватает других вариантов? Один из этих вариантов превосходит другой? При каких обстоятельствах это превосходство проявится? < /p>

Если я правильно читаю вещи, первый, кажется, единственный, способный поддерживать хронологии, отличные от изохронологии. Это не важно для общего варианта использования, но мне нравится писать гибкий, многократный код, и я бы хотел, чтобы это не упало в другие ситуации. Я не эксперт в этих альтернативных хронологиях, и я не знаю, есть ли у них лечебные годы или что -то еще, что может привести к изменению продолжительности месяца. Черт, я даже не знаю, есть ли у них месяцы < /em>. < /p>

int daysInMonth = date.toLocalDate().lengthOfMonth();


Подробнее здесь: https://stackoverflow.com/questions/586 ... a-time-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»