标签: periodformatter

PeriodFormatter不显示天数

我使用PeriodFormatter返回一个字符串,显示事件发生的时间.下面的代码不断创建字符串,如1146小时39分钟,而不是x天y小时z分钟.有任何想法吗?

谢谢,内森

   PeriodFormatter formatter = new PeriodFormatterBuilder()
                .printZeroNever()
                .appendDays()
                .appendSuffix( "d " )
                .appendHours()
                .appendSuffix( "h " )
                .appendMinutes()
                .appendSuffix( "m " )
                .toFormatter();
        return formatter.print( duration.toPeriod() );
Run Code Online (Sandbox Code Playgroud)

java datetime jodatime periodformatter

6
推荐指数
1
解决办法
817
查看次数

了解joda时间PeriodFormatter

我以为我明白了,但显然我没有.你能帮我把这些单元测试通过吗?

@Test
public void second() {
    assertEquals("00:00:01", OurDateTimeFormatter.format(1000));
}

@Test
public void minute() {
    assertEquals("00:01:00", OurDateTimeFormatter.format(1000 * 60));
}

@Test
public void hour() {
    assertEquals("01:00:00", OurDateTimeFormatter.format(1000 * 60 * 60));
}

@Test
public void almostMidnight() {
    final int secondsInDay = 60 * 60 * 24;
    assertEquals("23:59:59", OurDateTimeFormatter.format(1000 * (secondsInDay - 1)));
}

@Test
public void twoDaysAndAHalf() {
    final int secondsInDay = 60 * 60 * 24;
    assertEquals("12:00:00 and 2 days", OurDateTimeFormatter.format(1000 * secondsInDay * 5 / 2));
}
Run Code Online (Sandbox Code Playgroud)

实际代码在这里:

public …
Run Code Online (Sandbox Code Playgroud)

java jodatime periodformatter

4
推荐指数
1
解决办法
8845
查看次数

Joda Period Formatter

System.out.println( PeriodFormat.getDefault().print(Period.hours(1).plusMinutes(30).plusSeconds(60)));
Run Code Online (Sandbox Code Playgroud)

上面的Joda PeriodFormatter的输出是"1小时30分60秒".

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

谢谢!

java jodatime periodformatter

2
推荐指数
1
解决办法
1947
查看次数

标签 统计

java ×3

jodatime ×3

periodformatter ×3

datetime ×1