public static String getLastYmd(String ymd) {
try {
//日付チェック
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
sdf.setLenient(false);
sdf.parse(ymd);
//年・月を取得する
int y = Integer.parseInt(ymd.substring(0, 4));
int m = Integer.parseInt(ymd.substring(4, 6));
//取得した年月の最終年月日を取得する
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, y);
cal.set(Calendar.MONTH, m - 1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
//YYYYMMDD形式にして変換して返す
return sdf.format(cal.getTime());
} catch (Exception ex) {
//例外発生時はnullを返す
return null;
}
}