Я использую класс Jodatime Duration, чтобы добавить длительность, например 02:10, в DateTime, например, 2014-08-02T11: 34, используя withDurationAdded (duration, 1).
Я создал продолжительность, используя Duration.parse("02:10"). Я получаю IllegalFormatException для "02:10". Я не вижу аргумента formatSpecifier; как мне правильно создать эту продолжительность? Руководство по быстрому запуску jodatime не дает пример разбора: http://joda-time.sourceforge.net/key_duration.html
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);
}
}