Java - Compute Christmas days for the next five years.

Introduction

Combining a Year and MonthDay to get a LocalDate

Demo

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 = Year.now();

    // 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);
    }
  }
}

Result

Related Topic