JodaTime:打印周期为几小时?

时间:2011-05-23 08:28:55

标签: java jodatime

有没有办法在JodaTime中创建一个PeriodFormatter,它可以打印一段时间,比如2天4小时4分钟为52小时4分钟?

1 个答案:

答案 0 :(得分:14)

我相信您可以使用Period.normalizedStandard指定仅包含小时和分钟的PeriodType。样品:

import org.joda.time.*;
import org.joda.time.format.*;

public class Test {
    public static void main(String[] args) {
        // 2 days, 4 hours, 4 minutes
        Period period = new Period(0, 0, 0, 2, 4, 4, 0, 0);

        // Actually we're fine with seconds etc as well
        Period hoursAndMinutes = period.normalizedStandard(PeriodType.time());

        PeriodFormatter formatter = new PeriodFormatterBuilder()
            .appendHours()
            .appendSuffix(" hour", " hours")
            .appendMinutes()
            .appendSuffix(" minute", " minutes")
            .toFormatter();
        System.out.println(formatter.print(hoursAndMinutes));
    }
}