期间格式化程序显示两个最重要的单位(例如,“年,周期”为长期,“小时,分钟”为简称?)

时间:2013-02-04 14:47:28

标签: jodatime

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

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

使用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();

1 个答案:

答案 0 :(得分:0)

方法minimumPrintedDigits适用于“下一个和后续附加字段”。 由于您使用的是printZeroNever,我建议在追加方法之前放置minimumPrintedDigits方法。 编辑:仅使用printZeroNever可以更好地工作。