JodaTime:打印周期为几小时?

t3c*_*ris 11 java jodatime

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

Jon*_*eet 15

我相信你可以使用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));
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 大!正是我一直在寻找的东西.非常感谢!缺少的链接是"period.normalizedStandard(PeriodType.time())" (2认同)