这是我的资源键:
Expired {0} days ago
这是StringResourceModel的定义:
new StringResourceModel("store.expired.tooltip", null, Days.daysBetween(expirationDate, refDate));
预期结果类似于Expired 20 days
,但实际结果为Expired P20D ago
。
知道造成这种情况的原因是什么?我想我做everything right但不确定。
答案 0 :(得分:8)
这实际上是您使用joda-time时的错误。请参阅javad的{javadoc {/ 3}}。
Days.daysBetween(expirationDate, refDate)
返回一个joda Days
对象,其toString()
方法返回ISO8601持续时间格式字符串,这就是您所看到的。
使用Days.daysBetween(expirationDate, refDate).getDays()
代替它会使它成为一个整数,它应格式正确。