2017-02-18 3 views
-1
DateTimeZone timeZone = DateTimeZone.forID("America/Montreal"); 

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy/MM/dd").withZone(timeZone); 
DateTime dateTimeStart = formatter.parseDateTime("2012/01/01"); 
DateTime dateTimeStop = formatter.parseDateTime("2017/06/12"); 
Period period = new Period(dateTimeStart, dateTimeStop); 
PeriodFormatter periodFormatter = PeriodFormat.getDefault(); 

String output = periodFormatter.print(period); 
System.out.println(output); 

Actual Выход: 5 years, 5 months, 1 week and 4 days
Я хочу, чтобы результат (рекомендуется): 5 years, 5 months, 11 daysДней должны отображаться вместо недели при вычислении разности дат во время Joda

+3

** Прочитайте документацию. ** Это вы сделали, вы найдете ['Period.normalizedStandard (Тип PeriodType)'] (http://joda-time.sourceforge.net/apidocs/org/joda/ время/Period.html # normalizedStandard (org.joda.time.PeriodType)). * Вниз голосование за отсутствие исследований. * – Andreas

ответ

1

Если вы читали инструкцию ...

Period period = new Period(dateTimeStart, dateTimeStop, PeriodType.forFields(
     new DurationFieldType[]{ 
       DurationFieldType.years(), 
       DurationFieldType.months(), 
       DurationFieldType.days(), 
       DurationFieldType.hours(), 
       DurationFieldType.minutes(), 
       DurationFieldType.seconds(), 
       DurationFieldType.millis(), 
     })); 
+0

спасибо, что человек отлично работает –

Смежные вопросы