J'ai la période suivante 1month 5d 22h 35m 39s, que je veux mettre en forme comme 35d 22h 35m 39s. Cependant lorsque vous utilisez le formatter suivant les mois sont tout simplement retirés et n'ont pas été ajoutées aux jours:Affichage période avec jours, heures, minutes et secondes
PeriodFormatter formatter = new PeriodFormatterBuilder()
.printZeroAlways()
.appendDays().appendSuffix(" d ")
.appendHours().appendSuffix(" h ")
.appendMinutes().appendSuffix(" m ")
.appendSeconds().appendSuffix(" s ")
.toFormatter();
Après quelques recherches, je trouve que l'on est censé utiliser la méthode normalizedStandard() sur la période, mais lors de l'utilisation avec period.normalizedStandard(PeriodType.dayTime())
j'obtiens l'erreur suivante:
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)
Toutes les idées?
peut-être que ça aide http://stackoverflow.com/questions/1440557/joda-time-period-to-string – Thariama
Vous utilisez le même suffixe pour les mois et les minutes. –
Gilbert: désolé censé enlever cela. – Kristoffer