4

这是我的资源密钥:

Expired {0} days ago

这是 StringResourceModel 的定义:

new StringResourceModel("store.expired.tooltip", null, Days.daysBetween(expirationDate, refDate));

预期结果类似于Expired 20 daysago 但实际结果是Expired P20D ago.

知道是什么原因造成的吗?我认为我做的一切都是正确的,但不确定。

4

1 回答 1

8

这实际上是您使用 joda-time 的错误。请参阅 joda Days的 javadoc 。

Days.daysBetween(expirationDate, refDate)返回一个 jodaDays对象,其toString()方法返回 ISO8601 持续时间格式字符串,这就是您所看到的。

使用Days.daysBetween(expirationDate, refDate).getDays()相反将使它成为一个整数,它应该格式正确。

于 2012-07-21T14:31:40.150 回答