解析持续时间字符串Java7
我想解析Java7中的持续时间字符串,比如PT45M。我尝试使用SimpleDataFormat,但不存在任何类似PnDTnHnMn.nS的模式。有什么办法吗?看看。您可以通过parse方法将该字符串转换为duration对象,并使用getSeconds()方法获取秒数。然后可以将秒转换为常规java DateTime API对象。Three Ten Backport 您可能知道,也可能不知道,正如另一个答案所说,java的解析持续时间字符串Java7,java,date,parsing,duration,Java,Date,Parsing,Duration,我想解析Java7中的持续时间字符串,比如PT45M。我尝试使用SimpleDataFormat,但不存在任何类似PnDTnHnMn.nS的模式。有什么办法吗?看看。您可以通过parse方法将该字符串转换为duration对象,并使用getSeconds()方法获取秒数。然后可以将秒转换为常规java DateTime API对象。Three Ten Backport 您可能知道,也可能不知道,正如另一个答案所说,java的Duration类,Java8中引入的时间可以做到这一点。好消息是jav
Duration
类,Java8中引入的时间可以做到这一点。好消息是java.time也被后移植到了Java6和Java7。从底部的链接获取后端口并继续。例如:
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.time
- ,其中首先描述了
java.time
- ,java.time的后端口到Java6和Java7(JSR-310为三十)
- ,Android版Three Ten Backport
- ,解释得非常透彻
Java version: 1.7.0_67
Parsed duration: PT45M
Converted to whole seconds: 2700