/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
ZoneId z = ZoneId.of( "America/Edmonton" ) ;
YearMonth currentYm = YearMonth.now( z ) ;
List< YearMonth > yms = new ArrayList<>() ;
int limit = 3 ; // We want current month plus three previous months.
for( int i = 0 ; i <= limit ; i ++ ) {
YearMonth ym = currentYm.minusMonths( i ) ;
yms.add( ym ) ;
}
for( YearMonth ym : yms ) {
System.
out.
println( "YearMonth: " + ym
+ " starts: " + ym.
atDay( 1 ) + " ends: " + ym.
atEndOfMonth() ) ; }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCiAgICBab25lSWQgeiA9IFpvbmVJZC5vZiggIkFtZXJpY2EvRWRtb250b24iICkgOwogICAgWWVhck1vbnRoIGN1cnJlbnRZbSA9IFllYXJNb250aC5ub3coIHogKSA7CgogICAgTGlzdDwgWWVhck1vbnRoID4geW1zID0gbmV3IEFycmF5TGlzdDw+KCkgOwogICAgaW50IGxpbWl0ID0gMyA7IC8vIFdlIHdhbnQgY3VycmVudCBtb250aCBwbHVzIHRocmVlIHByZXZpb3VzIG1vbnRocy4gCiAgICBmb3IoIGludCBpID0gMCA7IGkgPD0gbGltaXQgOyBpICsrICkgewogICAgICAgIFllYXJNb250aCB5bSA9IGN1cnJlbnRZbS5taW51c01vbnRocyggaSApIDsKICAgICAgICB5bXMuYWRkKCB5bSApIDsKICAgIH0KCiAgICBmb3IoIFllYXJNb250aCB5bSA6IHltcyApIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJZZWFyTW9udGg6ICIgKyB5bSArICIgc3RhcnRzOiAiICsgeW0uYXREYXkoIDEgKSArICAiIGVuZHM6ICIgKyB5bS5hdEVuZE9mTW9udGgoKSApIDsgCiAgICB9CiAgICAKICAgIAoJfQp9