import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Locale;

public class Main {
	public static void main(String[] args) {
		int year = 2021;
		int month = 6;
		int hour = 23;
		int minute = 59;
		int second = 59;
		
		LocalDateTime ldt = LocalDate.of(year, month, 1)
							.with(TemporalAdjusters.lastDayOfMonth())
							.atTime(LocalTime.of(hour, minute, second));

		// Default format i.e. ldt#toString
		System.out.println(ldt);

		// Custom format
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss", Locale.ENGLISH);
		String formatted = dtf.format(ldt);
		System.out.println(formatted);
	}
}