Java - Compute Christmas days for the next five years.


Combining a Year and MonthDay to get a LocalDate


import java.time.LocalDate;
import java.time.Month;
import java.time.MonthDay;
import java.time.Year;
import java.time.format.TextStyle;
import java.util.Locale;

public class Main {
  public static void main(String[] args) {
    MonthDay dec25 = MonthDay.of(Month.DECEMBER, 25);
    Year year =;

    // Construct and print Christmas days in next five years
    for (int i = 1; i <= 5; i++) {
      LocalDate ld = year.plusYears(i).atMonthDay(dec25);
      int yr = ld.getYear();
      String weekDay = ld.getDayOfWeek().getDisplayName(TextStyle.FULL,
          Locale.getDefault());// w w  w .j  a  v a 2s. c  o m
      System.out.format("Christmas in %d is on %s.%n", yr, weekDay);


Related Topic