次の期間があります1month5d22h 35m 39s、35d 22h35m39sとしてフォーマットしたいと思います。ただし、次のフォーマッタを使用する場合、月は削除され、日には追加されません。
PeriodFormatter formatter = new PeriodFormatterBuilder()
.printZeroAlways()
.appendDays().appendSuffix(" d ")
.appendHours().appendSuffix(" h ")
.appendMinutes().appendSuffix(" m ")
.appendSeconds().appendSuffix(" s ")
.toFormatter();
いくつか検索した後、PeriodでnormalizedStandard()メソッドを使用することになっていることがわかりましたが、それを使用するとperiod.normalizedStandard(PeriodType.dayTime())、次のエラーが発生します。
java.lang.UnsupportedOperationException: Field is not supported
at org.joda.time.PeriodType.setIndexedField(PeriodType.java:690)
at org.joda.time.Period.withMonths(Period.java:851)
at org.joda.time.Period.normalizedStandard(Period.java:1541)
at amadeus.bid.wicket.markup.html.CountDownLabel.onComponentTagBody(CountDownLabel.java:34)
何か案は?