Sen saniye sayısı ile inşa eğer, o sahip olduğu tek değer çünkü dönemini normalleştirmek gerekiyor.
Düzenleme ripper234 tarafından vb, bu gün, dakika, saniye toplam sayısına aşağı kıracak normalleştirilmesi - Bir TL;DR version ekleme: Örneğin PeriodFormat.getDefault().print(period)
:
public static void main(String[] args) {
PeriodFormatter daysHoursMinutes = new PeriodFormatterBuilder()
.appendDays()
.appendSuffix(" day", " days")
.appendSeparator(" and ")
.appendMinutes()
.appendSuffix(" minute", " minutes")
.appendSeparator(" and ")
.appendSeconds()
.appendSuffix(" second", " seconds")
.toFormatter();
Period period = new Period(72, 24, 12, 0);
System.out.println(daysHoursMinutes.print(period));
System.out.println(daysHoursMinutes.print(period.normalizedStandard()));
}
yazdırmak Will :
24 minutes and 12 seconds
3 days and 24 minutes and 12 seconds
Böylece normalize edilmemiş dönem için çıktının saat sayısını görmezden gelebileceğini görüyorsunuz (72 saati 3 güne çevirmedi). işte bu yüzden, sen saat kaçırıyorsun
Period period = new Period(startDate, endDate);
System.out.println(PeriodFormat.getDefault().print(period))
İlgili: http://stackoverflow.com/q/10829870/11236 – ripper234