Почему DurationFormatUtils игнорирует год в формате?

У меня есть этот код:

return DurationFormatUtils.formatDuration(2034430000000L, yyyy-MM-dd_HH:mm:ss.SSS)

результат: 0000-00-23546_15:26:40.000

почему год и дни равны 0 и так много дней?

1 ответ

Потому что в документации сказано так: DurationFormatUtils.formatDuration(),

Из документов:

Этот метод форматирует длительности, используя дни и нижние поля шаблона формата. Месяцы и больше не используются.

Причина в том, что когда вы говорите о длительности, как долго это месяц? Как долго длится год? Месяц - это переменное количество дней, как и год. Теперь, если эти длительности закреплены, такая вещь может иметь смысл; в этих случаях это то, что Joda-Time назвал бы периодами.

Но в целом продолжительность составляет всего несколько миллисекунд, поэтому месяцы и годы действительно не имеют смысла.

Другие вопросы по тегам