Проблема в вашем случае заключается в том, что вы не просите PeriodFormatter
отображать недели.
Две возможности:
Решение 1: Отображение недель:
PeriodFormatter formatter = new PeriodFormatterBuilder()
.printZeroNever()
.appendWeeks()
.appendSuffix(" week", " weeks")
.appendSeparator(", ")
.appendDays()
.appendSuffix(" day", " days")
.appendSeparator(", ")
.appendHours()
.appendSuffix(" hour", " hours")
.appendSeparator(", ")
.appendMinutes()
.appendSuffix(" minute", " minutes")
.appendSeparator(", ")
.appendSeconds()
.appendSuffix(" second", " seconds")
.toFormatter();
Второй вывод в вашем примере будет:
1 week, 1 minute
Решение 2. Отображение только дней, поэтому вам придется использовать PeriodType.yearMonthDayTime()
:
new Period(justUndeAWeekAgo, now, PeriodType.yearMonthDayTime());
Используя это второе решение, вы можете сохранить свой PeriodFormatter
таким, какой он есть сейчас. Второй вывод в вашем примере будет:
7 days, 1 minute