Строка разбора длительности Java 7 - PullRequest
1 голос
/ 03 марта 2020

Я хочу разобрать строки длительности в Java 7, например PT45M . Я пытаюсь с SimpleDataFormat, но не существует ни одного шаблона, как PnDTnHnMn.nS. Есть ли способ сделать это?

Ответы [ 2 ]

2 голосов
/ 03 марта 2020

ThreeTen Backport

Как вы можете знать или не знать, и как говорит другой ответ, класс Duration java, время, введенное в Java 8, может это сделать. Хорошей новостью является то, что java .time был перенесен на Java 6 и 7 тоже. Получить бэкпорт по ссылке внизу и go впереди. Например:

    System.out.println("Java version: " + System.getProperty("java.version"));

    Duration dur = Duration.parse("PT45M");

    System.out.println("Parsed duration: " + dur);
    System.out.println("Converted to whole seconds: " + dur.getSeconds());

На моем компьютере вывод этого фрагмента кода был:

Java version: 1.7.0_67
Parsed duration: PT45M
Converted to whole seconds: 2700

Ссылки

0 голосов
/ 03 марта 2020

Посмотрите на Java Документация по продолжительности . Вы можете преобразовать эту строку в объект длительности с помощью метода parse и получить секунды с помощью метода getSeconds (). Затем вы можете преобразовать секунды в обычные java объекты DateTime API.

...