Joda Period Formatter

时间:2011-09-21 12:32:09

标签: java jodatime periodformatter

System.out.println( PeriodFormat.getDefault().print(Period.hours(1).plusMinutes(30).plusSeconds(60)));

以上Joda PeriodFormatter的输出是“1小时30分60秒”。

我知道这是一个边缘情况,但有没有办法输出这个“1小时31分钟”?

谢谢!

2 个答案:

答案 0 :(得分:6)

您可以先使用normalizedStandard对其进行规范化:

Period period = Period.hours(1).plusMinutes(30).plusSeconds(60);
PeriodFormat.getDefault().print(period.normalizedStandard());

或者可能:

Period period = Period.hours(1).plusMinutes(30).plusSeconds(60);
PeriodFormat.getDefault()
            .print(period.normalizedStandard(period.getPeriodType()));

答案 1 :(得分:2)

尝试添加toStandardDuration()

System.out.println( PeriodFormat.getDefault().print(Period.hours(1).plusMinutes(30).plusSeconds(60).toStandardDuration()));