解析持续时间字符串Java 7

问题描述 投票:1回答:2

我想解析Java 7中的Duration字符串,例如PT45M。我尝试使用SimpleDataFormat,但不存在任何类似PnDTnHnMn.nS的模式。有什么办法吗?

java date parsing duration
2个回答
2
投票

ThreeTen Backport

您可能知道也可能不知道,并且正如另一个答案所说,Java 8中引入的java,time类Duration可以做到这一点。好消息是java.time也已被反向移植到Java 6和7。从底部的链接获取反向端口,然后继续。例如:

    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
投票

看看Java Documentation for Duration。您可以通过parse方法将该字符串转换为持续时间对象,并使用getSeconds()方法获得秒数。然后,您可以将秒转换为常规的Java DateTime API对象。

© www.soinside.com 2019 - 2024. All rights reserved.