- /* package whatever; // don't place package name! */ 
-   
- import java.util.*; 
- import java.lang.*; 
- import java.io.*; 
-   
- import java.time.* ; 
- import java.time.temporal.* ; 
- import java.time.format.* ; 
-   
- import java.math.BigDecimal; 
- import java.math.MathContext; 
-   
- /* Name of the class has to be "Main" only if the class is public. */ 
- class Ideone 
- { 
- 	{ 
-   
-         //LocalDate start = myResultSet.getObject( … , LocalDate.class ) ;  // Retrieve a `LocalDate` from database using JDBC 4.2 and later. 
-         LocalDate start = LocalDate.of( 2018 , Month.JANUARY , 23 ); 
-         LocalDate stop = start.plusDays( 101 ); 
-   
-         Period p = Period.between( start , stop ); 
-         long months = p.toTotalMonths(); 
-         int days = p.getDays(); 
-   
-         BigDecimal-  fractionalMonth  =-  bdDays. divide(-  bdMaximumDaysInMonth , MathContext. DECIMAL32 );
 
-   
-         double d = bd.round( MathContext.DECIMAL32 ).doubleValue(); 
-   
-         System- . out- . println( "From: " +-  start  + " to: " +-  stop  + " = " +-  bd  + " months, using BigDecimal. As a double: " +-  d  );
 
-         System- . out- . println( "p.toString(): " +-  p  );
 
-   
-   
- 	} 
- } 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwppbXBvcnQgamF2YS50aW1lLnRlbXBvcmFsLiogOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC4qIDsKCmltcG9ydCBqYXZhLm1hdGguQmlnRGVjaW1hbDsKaW1wb3J0IGphdmEubWF0aC5NYXRoQ29udGV4dDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgogICAgICAgIC8vTG9jYWxEYXRlIHN0YXJ0ID0gbXlSZXN1bHRTZXQuZ2V0T2JqZWN0KCDigKYgLCBMb2NhbERhdGUuY2xhc3MgKSA7ICAvLyBSZXRyaWV2ZSBhIGBMb2NhbERhdGVgIGZyb20gZGF0YWJhc2UgdXNpbmcgSkRCQyA0LjIgYW5kIGxhdGVyLgogICAgICAgIExvY2FsRGF0ZSBzdGFydCA9IExvY2FsRGF0ZS5vZiggMjAxOCAsIE1vbnRoLkpBTlVBUlkgLCAyMyApOwogICAgICAgIExvY2FsRGF0ZSBzdG9wID0gc3RhcnQucGx1c0RheXMoIDEwMSApOwoKICAgICAgICBQZXJpb2QgcCA9IFBlcmlvZC5iZXR3ZWVuKCBzdGFydCAsIHN0b3AgKTsKICAgICAgICBsb25nIG1vbnRocyA9IHAudG9Ub3RhbE1vbnRocygpOwogICAgICAgIGludCBkYXlzID0gcC5nZXREYXlzKCk7CgogICAgICAgIEJpZ0RlY2ltYWwgYmREYXlzID0gbmV3IEJpZ0RlY2ltYWwoIGRheXMgKTsKICAgICAgICBCaWdEZWNpbWFsIGJkTWF4aW11bURheXNJbk1vbnRoID0gbmV3IEJpZ0RlY2ltYWwoIDMxICk7CiAgICAgICAgQmlnRGVjaW1hbCBmcmFjdGlvbmFsTW9udGggPSBiZERheXMuZGl2aWRlKCBiZE1heGltdW1EYXlzSW5Nb250aCAsIE1hdGhDb250ZXh0LkRFQ0lNQUwzMiApOwogICAgICAgIEJpZ0RlY2ltYWwgYmQgPSBuZXcgQmlnRGVjaW1hbCggbW9udGhzICkuYWRkKCBmcmFjdGlvbmFsTW9udGggKTsKCiAgICAgICAgZG91YmxlIGQgPSBiZC5yb3VuZCggTWF0aENvbnRleHQuREVDSU1BTDMyICkuZG91YmxlVmFsdWUoKTsKCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCAiRnJvbTogIiArIHN0YXJ0ICsgIiB0bzogIiArIHN0b3AgKyAiID0gIiArIGJkICsgIiBtb250aHMsIHVzaW5nIEJpZ0RlY2ltYWwuIEFzIGEgZG91YmxlOiAiICsgZCApOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiggInAudG9TdHJpbmcoKTogIiArIHAgKTsKICAgICAgICAKICAgICAgICAKCX0KfQ==