我有来自服务器的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.