【Java】指定日付の月末月初を求める

Java8のLocalDateクラスを利用して指定日付の月末月初を求めます。

// フォーマット
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd");
// 月初
LocalDate ldFirst = LocalDate.parse("20181015", dtf).withDayOfMonth(1);
// 月末
LocalDate ldLast = LocalDate.parse("20181015", dtf).withDayOfMonth(1).plusMonth(1).minusDays(1);

// 文字列変換
String strFirst = dtf.format(ldFirst);
String strLast = dtf.format(ldLast);