如何转换javax.xml.datatype.Duration

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

谢谢.

解决方法:

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

Duration dur = DatatypeFactory.newDuration("P2DT15H45M0S");
int days = dur.getDays();
int hours = dur.getHours();
int minutes = dur.getMinutes();

String formatted = days + " Days " + hours + " Hrs " + minutes + " Min"

如果你想要像“Day”这样的单一形式,以防一个持续时间部分只等于1,那么你需要为这段代码添加一个小的增强.也许您还需要首先规范您的持续时间(例如,如果您的第二部分超过59),请参阅javadoc.

上一篇:微信小程序动画之弹出菜单


下一篇:如何在Java中获取数组中所有持续时间的总和?