Duration.parse示例

时间:2014-08-02 19:24:49

标签: java jodatime

我正在使用jodatime的Duration课程,使用withDurationAdded(duration,1)将像02:10这样的持续时间添加到类似2014-08-02T11:34的DateTime。

我使用Duration.parse(" 02:10")创建了持续时间。我得到了" 02:10"的IllegalFormatException。我没有看到formatSpecifier参数;我该如何正确创建此持续时间? jodatime快速入门指南没有提供解析示例:http://joda-time.sourceforge.net/key_duration.html

1 个答案:

答案 0 :(得分:2)

javadoc指定Duration.parse所需的格式:

  

从指定的字符串中解析持续时间。

     

根据PTa.bS解析格式AbstractDuration.toString()

您需要构建自定义格式化程序 - 这里有一些示例代码:

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

public class Test {
    public static void main(String[] args) {
        PeriodFormatter formatter = new PeriodFormatterBuilder()
            .appendHours()
            .appendLiteral(":")
            .appendMinutes()
            .toFormatter();
        Duration duration = formatter.parsePeriod("02:10").toStandardDuration();
        System.out.println(duration);
    }
}