protected String findTheFirstDayInMonth(String date){
String yearAndMonth = date.substring(0,8);
String day = "01";
return yearAndMonth + day;
}
protected String findTheLastDayInLastMonth(String date){
String year = date.substring(0,4);
String month = date.substring(5,7);
Integer y = Integer.valueOf(year);
Integer m = Integer.valueOf(month);
if(m == 01){
y = y - 1;
m = 12;
month = "0"+m.toString();
year = y.toString();
}else {
m = m -1;
if(m<10){
month = "0"+m.toString();
}else {
month = m.toString();
}
}
switch (month){
case "01" :
case "03" :
case "05" :
case "07" :
case "08" :
case "10" :
case "12" :
return year+"-"+month+"-"+"31";
case "02" :
return y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ? year+"-"+month+"-"+"29" : year+"-"+month+"-"+"28";
case "04" :
case "06" :
case "09" :
case "11" :
return year+"-"+month+"-"+"30";
default:
return year+"-"+month+"-"+"30";
}
}