我正在使用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
答案 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);
}
}