あなたは早期printZeroAlways
を必要とし、それが0 hours
を言うために動作させるためにビットまでごprintZeroRarelyFirst
を移動します。上記の方法は、常にあなたの0時間を与えるので
import org.joda.time.Period;
import org.joda.time.format.PeriodFormatter;
import org.joda.time.format.PeriodFormatterBuilder;
public class TestFormat {
public static void main(String[] args) {
PeriodFormatter hoursMinutesSeconds = new PeriodFormatterBuilder()
.printZeroAlways()
.appendHours().appendSuffix(" hour", " hours")
.printZeroRarelyFirst()
.appendSeparator(", ", " and ")
.appendMinutes()
.appendSuffix(" minute", " minutes")
.appendSeparator(" and ")
.appendSeconds()
.appendSuffix(" second", " seconds")
.toFormatter();
System.out.println(hoursMinutesSeconds.print(new Period(0, 0, 0, 0)));
}
}
あなたは、しかし、printZeroRarelyLast
ソリューションを好むかもしれません。
が、私はそれはで動作します
public static void main(String[] args) {
PeriodFormatter hoursMinutesSeconds = new PeriodFormatterBuilder()
.printZeroRarelyLast()
.appendHours().appendSuffix(" hour", " hours")
.appendSeparator(", ", " and ")
.appendMinutes()
.appendSuffix(" minute", " minutes")
.appendSeparator(" and ")
.appendSeconds()
.appendSuffix(" second", " seconds")
.toFormatter();
System.out.println(hoursMinutesSeconds.print(new Period(0, 0, 0, 0)));
}
を好む 'printZeroRarelyLast()' –