如何转换javax.xml.datatype.Duration

时间:2015-06-12 09:51:36

标签: java string duration reformat

我收到服务器的回复 javax.xml.datatype.Duration 格式。
这就是我得到的 行程持续时间= P2DT15H45M0S
我想要它的格式
要求的格式= 2天15小时45分钟 怎么做?
有没有办法从javax.xml.datatype.Duration转换为String

谢谢。

3 个答案:

答案 0 :(得分:7)

没有外部库的简单直接的解决方案(Java中没有内置的持续时间格式化程序):

animated: false

如果您需要像“Day”这样的单数形式,以防一个持续时间部分等于1,则可以在此代码中添加一个小的增强功能。也许您还需要首先规范您的持续时间(例如,如果您的第二部分超过59),请参阅javadoc

答案 1 :(得分:1)

    public static Duration convertXmlTypeDuration(String input) throws DatatypeConfigurationException {
       // Duration duration =
       // DatatypeFactory.newInstance().newDuration("P2DT23H59M0S");
       Duration duration = DatatypeFactory.newInstance().newDuration(input);
       return duration;
}

您可以从持续时间中获取天,小时和分钟。

答案 2 :(得分:0)

将javax.xml.datatype.Duration实例转换为字符串

duration.toString()

然后关注link。这将有助于正确格式化