Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析持续时间字符串Java7_Java_Date_Parsing_Duration - Fatal编程技术网

解析持续时间字符串Java7

解析持续时间字符串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

我想解析Java7中的持续时间字符串,比如PT45M。我尝试使用SimpleDataFormat,但不存在任何类似PnDTnHnMn.nS的模式。有什么办法吗?

看看。您可以通过parse方法将该字符串转换为duration对象,并使用getSeconds()方法获取秒数。然后可以将秒转换为常规java DateTime API对象。

Three Ten Backport 您可能知道,也可能不知道,正如另一个答案所说,java的
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
  • ,解释得非常透彻

Hi Tuncer,谢谢你的回复,但是我必须用java 7来完成这项工作,否则就没有问题了。
Java version: 1.7.0_67
Parsed duration: PT45M
Converted to whole seconds: 2700