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);

वास्तविक आउटपुट है: 5 years, 5 months, 1 week and 4 days
मुझे आउटपुट चाहिए (अनुशंसित): 5 years, 5 months, 11 days

-1
Pradap Pandian 18 फरवरी 2017, 11:58
3
दस्तावेज पढ़ें। आपने जो किया, वह आपको मिलेगा Period.normalizedStandard(PeriodType type). अनुसंधान की कमी के लिए डाउन-वोटिंग।
 – 
Andreas
18 फरवरी 2017, 12:05

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(),
        }));
1
aemaem 18 फरवरी 2017, 12:43