static ImmutableHolidayCalendar generateMexicoCity() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { // new year holidays.add(date(year, 1, 1)); // constitution holidays.add(first(year, 2).with(firstInMonth(MONDAY))); // president holidays.add(first(year, 3).with(firstInMonth(MONDAY)).plusWeeks(2)); // maundy thursday holidays.add(easter(year).minusDays(3)); // good friday holidays.add(easter(year).minusDays(2)); // labour holidays.add(date(year, 5, 1)); // independence holidays.add(date(year, 9, 16)); // dead holidays.add(date(year, 11, 2)); // revolution holidays.add(first(year, 11).with(firstInMonth(MONDAY)).plusWeeks(2)); // guadalupe holidays.add(date(year, 12, 12)); // christmas holidays.add(date(year, 12, 25)); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarId.of("MXMC"), holidays, SATURDAY, SUNDAY); }
holidays.add(bumpToMon(first(year, 1))); holidays.add(first(year, 5).with(firstInMonth(MONDAY))); holidays.add(date(2012, 6, 5)); } else if (year == 1967 || year == 1970) { holidays.add(first(year, 5).with(lastInMonth(MONDAY))); } else if (year < 1971) { holidays.add(first(year, 5).with(lastInMonth(MONDAY))); holidays.add(first(year, 8).with(firstInMonth(MONDAY))); } else if (year < 1971) { holidays.add(first(year, 8).with(lastInMonth(SATURDAY)).plusDays(2)); } else { holidays.add(first(year, 8).with(lastInMonth(MONDAY)));
static ImmutableHolidayCalendar generateSydney() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { // new year holidays.add(bumpToMon(date(year, 1, 1))); // australia day holidays.add(bumpToMon(date(year, 1, 26))); // good friday holidays.add(easter(year).minusDays(2)); // easter monday holidays.add(easter(year).plusDays(1)); // anzac day holidays.add(date(year, 4, 25)); // queen's birthday holidays.add(first(year, 6).with(dayOfWeekInMonth(2, MONDAY))); // bank holiday holidays.add(first(year, 8).with(dayOfWeekInMonth(1, MONDAY))); // labour day holidays.add(first(year, 10).with(dayOfWeekInMonth(1, MONDAY))); // christmas holidays.add(christmasBumpedSatSun(year)); // boxing holidays.add(boxingDayBumpedSatSun(year)); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarId.of("AUSY"), holidays, SATURDAY, SUNDAY); }
static ImmutableHolidayCalendar generateMontreal() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { // new year holidays.add(bumpToMon(date(year, 1, 1))); // good friday holidays.add(easter(year).minusDays(2)); // patriots holidays.add(date(year, 5, 25).with(TemporalAdjusters.previous(MONDAY))); // fete nationale quebec holidays.add(bumpToMon(date(year, 6, 24))); // canada holidays.add(bumpToMon(date(year, 7, 1))); // labour holidays.add(first(year, 9).with(dayOfWeekInMonth(1, MONDAY))); // thanksgiving holidays.add(first(year, 10).with(dayOfWeekInMonth(2, MONDAY))); // christmas holidays.add(christmasBumpedSatSun(year)); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarId.of("CAMO"), holidays, SATURDAY, SUNDAY); }