-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 Output is: 5 years, 5 months, 1 week and 4 days
I want output (Recommended) : 5 years, 5 months, 11 days

krock
  • 28,904
  • 13
  • 79
  • 85
Pradap Pandian
  • 367
  • 1
  • 8
  • 19
  • 3
    **Read the documentation.** It you did, you'd find [`Period.normalizedStandard(PeriodType type)`](http://joda-time.sourceforge.net/apidocs/org/joda/time/Period.html#normalizedStandard(org.joda.time.PeriodType)). *Down-voting for lack of research.* – Andreas Feb 18 '17 at 09:05

1 Answers1

1

If you read the manual...

Period period = new Period(dateTimeStart, dateTimeStop, PeriodType.forFields(
        new DurationFieldType[]{
                DurationFieldType.years(),
                DurationFieldType.months(),
                DurationFieldType.days(),
                DurationFieldType.hours(),
                DurationFieldType.minutes(),
                DurationFieldType.seconds(),
                DurationFieldType.millis(),
        }));
aemaem
  • 935
  • 10
  • 20