8

我有一个定义如下的 Joda 时间段格式化程序。我希望它只显示两个最重要的单位。

因此,在很长一段时间内,它可能会产生“x 年,y 月”。短时间“x 小时,y 分钟”。

使用 Joda 实现这一目标的最佳方法是什么?

val periodFormatter: PeriodFormatter = new PeriodFormatterBuilder()
    .printZeroNever().appendYears().appendSuffix(" year", " years")
    .appendSeparator(", ")
    .printZeroNever().appendMonths().appendSuffix(" month", " months")
    .appendSeparator(", ")
    .printZeroNever().appendDays().appendSuffix(" day", " days")
    .appendSeparator(", ")
    .printZeroNever().appendHours().appendSuffix(" hr", " hrs")
    .appendSeparator(", ")
    .printZeroRarelyLast().appendMinutes().appendSuffix(" min", " mins")
    .toFormatter();
4

1 回答 1

0

该方法minimumPrintedDigits适用于“下一个和后面的附加字段”。由于您使用的是printZeroNever,我建议将方法放在minimumPrintedDigits附加方法之前。编辑:只使用它会更好printZeroNever

于 2013-02-04T15:04:54.183 回答