/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.*;
import java.time.format.*;
import java.time.temporal.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// Shows how `ChronoUnit.between` calculates with the Half-Open approach where the beginning is inclusive while the ending is exclusive.
LocalDate start = LocalDate.of( 2017 , Month.JANUARY , 1 );
LocalDate stop = LocalDate.of( 2017 , Month.FEBRUARY , 1 ); // Runs up to, but does not include, first day of following month.
long daysInJanuary = ChronoUnit.DAYS.between( start , stop ); // Returns 31, not 32.
System.
out.
println( "start.toString(): " + start
); System.
out.
println( "stop.toString(): " + stop
); System.
out.
println( "daysInJanuary: " + daysInJanuary
);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLio7CmltcG9ydCBqYXZhLnRpbWUuZm9ybWF0Lio7CmltcG9ydCBqYXZhLnRpbWUudGVtcG9yYWwuKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgovLyBTaG93cyBob3cgYENocm9ub1VuaXQuYmV0d2VlbmAgY2FsY3VsYXRlcyB3aXRoIHRoZSBIYWxmLU9wZW4gYXBwcm9hY2ggd2hlcmUgdGhlIGJlZ2lubmluZyBpcyBpbmNsdXNpdmUgd2hpbGUgdGhlIGVuZGluZyBpcyBleGNsdXNpdmUuCgpMb2NhbERhdGUgc3RhcnQgPSBMb2NhbERhdGUub2YoIDIwMTcgLCBNb250aC5KQU5VQVJZICwgMSApOwpMb2NhbERhdGUgc3RvcCA9IExvY2FsRGF0ZS5vZiggMjAxNyAsIE1vbnRoLkZFQlJVQVJZICwgMSApOyAgLy8gUnVucyB1cCB0bywgYnV0IGRvZXMgbm90IGluY2x1ZGUsIGZpcnN0IGRheSBvZiBmb2xsb3dpbmcgbW9udGguCmxvbmcgZGF5c0luSmFudWFyeSA9IENocm9ub1VuaXQuREFZUy5iZXR3ZWVuKCBzdGFydCAsIHN0b3AgKTsgIC8vIFJldHVybnMgMzEsIG5vdCAzMi4KClN5c3RlbS5vdXQucHJpbnRsbiggInN0YXJ0LnRvU3RyaW5nKCk6ICIgKyBzdGFydCApOwpTeXN0ZW0ub3V0LnByaW50bG4oICJzdG9wLnRvU3RyaW5nKCk6ICIgKyBzdG9wICk7ClN5c3RlbS5vdXQucHJpbnRsbiggImRheXNJbkphbnVhcnk6ICIgKyBkYXlzSW5KYW51YXJ5ICk7CgoJfQp9