4

これは私のリソース キーです。

Expired {0} days ago

これは StringResourceModel の定義です。

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

期待される結果は前のようなものですExpired 20 daysが、実際の結果はExpired P20D agoです。

これの原因は何ですか?私はすべてを正しくやっていると思いますが、よくわかりません。

4

1 に答える 1

8

これは、実際には joda-time の使用法に誤りがあります。joda Daysの javadoc を参照してください。

Days.daysBetween(expirationDate, refDate)メソッドが ISO8601 期間フォーマット文字列を返すjodaDaysオブジェクトを返します。toString()

代わりに使用Days.daysBetween(expirationDate, refDate).getDays()すると、正しくフォーマットされるはずの整数になります。

于 2012-07-21T14:31:40.150 に答える