static ImmutableHolidayCalendar generateEuropeanTarget() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1997; year <= 2099; year++) { if (year >= 2000) { holidays.add(date(year, 1, 1)); holidays.add(easter(year).minusDays(2)); holidays.add(easter(year).plusDays(1)); holidays.add(date(year, 5, 1)); holidays.add(date(year, 12, 25)); holidays.add(date(year, 12, 26)); } else { // 1997 to 1999 holidays.add(date(year, 1, 1)); holidays.add(date(year, 12, 25)); } if (year == 1999 || year == 2001) { holidays.add(date(year, 12, 31)); } } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarIds.EUTA, holidays, SATURDAY, SUNDAY); }
static ImmutableHolidayCalendar generateZurich() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { holidays.add(date(year, 1, 1)); // new year holidays.add(date(year, 1, 2)); // saint berchtoldstag holidays.add(easter(year).minusDays(2)); // good friday holidays.add(easter(year).plusDays(1)); // easter monday holidays.add(date(year, 5, 1)); // labour day holidays.add(easter(year).plusDays(39)); // ascension day holidays.add(easter(year).plusDays(50)); // whit monday holidays.add(date(year, 8, 1)); // national day holidays.add(date(year, 12, 25)); // christmas day holidays.add(date(year, 12, 26)); // saint stephen } holidays.add(date(1999, 12, 31)); // millennium holidays.add(date(2000, 1, 3)); // millennium removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarIds.CHZU, holidays, SATURDAY, SUNDAY); }
for (int year = 1950; year <= 2099; year++) { holidays.add(date(year, 1, 1)); holidays.add(date(year, 5, 1)); holidays.add(date(year, 5, 8)); holidays.add(date(year, 7, 5)); holidays.add(date(year, 7, 6)); holidays.add(date(year, 9, 28)); holidays.add(date(year, 10, 28)); holidays.add(date(year, 11, 17)); holidays.add(date(year, 12, 24)); holidays.add(date(year, 12, 25)); holidays.add(date(year, 12, 26));
static ImmutableHolidayCalendar generateParis() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { holidays.add(date(year, 1, 1)); // new year holidays.add(easter(year).minusDays(2)); // good friday holidays.add(easter(year).plusDays(1)); // easter monday holidays.add(date(year, 5, 1)); // labour day holidays.add(date(year, 5, 8)); // victory in europe holidays.add(easter(year).plusDays(39)); // ascension day if (year <= 2004 || year >= 2008) { holidays.add(easter(year).plusDays(50)); // whit monday } holidays.add(date(year, 7, 14)); // bastille holidays.add(date(year, 8, 15)); // assumption of mary holidays.add(date(year, 11, 1)); // all saints holidays.add(date(year, 11, 11)); // armistice day holidays.add(date(year, 12, 25)); // christmas day holidays.add(date(year, 12, 26)); // saint stephen } holidays.add(date(1999, 12, 31)); // millennium applyBridging(holidays); removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarIds.FRPA, holidays, SATURDAY, SUNDAY); }
static ImmutableHolidayCalendar generateUsGovtSecurities() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { usCommon(holidays, year, true, true, 1986); // good friday, in 1999/2007 only a partial holiday holidays.add(easter(year).minusDays(2)); // hurricane sandy if (year == 2012) { holidays.add(date(year, 10, 30)); } } holidays.add(date(2018, 12, 5)); // Death of George H.W. Bush removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarIds.USGS, holidays, SATURDAY, SUNDAY); }
holidays.add(date(year, 1, 1)); holidays.add(date(year, 1, 6)); holidays.add(date(year, 5, 1)); holidays.add(date(year, 5, 3)); holidays.add(date(year, 7, 22)); holidays.add(date(year, 8, 15)); holidays.add(date(year, 11, 1)); holidays.add(date(year, 11, 11)); holidays.add(date(year, 12, 24)); holidays.add(date(year, 12, 25)); holidays.add(date(year, 12, 26)); LocalDate nyeve = date(year, 12, 31); if (nyeve.getDayOfWeek() == MONDAY || nyeve.getDayOfWeek() == THURSDAY || nyeve.getDayOfWeek() == FRIDAY) { holidays.add(nyeve); holidays.add(date(2018, 11, 12));
for (int year = 1950; year <= 2099; year++) { holidays.add(date(year, 1, 1)); holidays.add(date(year, 1, 6)); holidays.add(date(year, 5, 1)); holidays.add(date(year, 6, 19).with(nextOrSame(FRIDAY))); holidays.add(date(year, 6, 6)); holidays.add(date(year, 12, 24)); holidays.add(date(year, 12, 25)); holidays.add(date(year, 12, 26)); holidays.add(date(year, 12, 31));
for (int year = 1950; year <= 2099; year++) { holidays.add(date(year, 1, 1)); holidays.add(date(year, 4, 21)); holidays.add(date(year, 5, 1)); holidays.add(date(year, 9, 7)); holidays.add(date(year, 10, 12)); holidays.add(date(year, 11, 2)); holidays.add(date(year, 11, 15)); holidays.add(date(year, 12, 25));
static ImmutableHolidayCalendar generateFrankfurt() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { holidays.add(date(year, 1, 1)); // new year holidays.add(easter(year).minusDays(2)); // good friday holidays.add(easter(year).plusDays(1)); // easter monday holidays.add(date(year, 5, 1)); // labour day holidays.add(easter(year).plusDays(39)); // ascension day holidays.add(easter(year).plusDays(50)); // whit monday holidays.add(easter(year).plusDays(60)); // corpus christi if (year >= 2000) { holidays.add(date(year, 10, 3)); // german unity } if (year <= 1994) { // Wed before the Sunday that is 2 weeks before first advent, which is 4th Sunday before Christmas holidays.add(date(year, 12, 25).with(previous(SUNDAY)).minusWeeks(6).minusDays(4)); // repentance } holidays.add(date(year, 12, 25)); // christmas day holidays.add(date(year, 12, 26)); // saint stephen holidays.add(date(year, 12, 31)); // new year } holidays.add(date(2017, 10, 31)); // reformation day removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarIds.DEFR, holidays, SATURDAY, SUNDAY); }
holidays.add(bumpSunToMon(date(year, 1, 1))); holidays.add(date(year, 1, 1).with(dayOfWeekInMonth(3, MONDAY))); holidays.add(bumpSunToMon(date(year, 2, 22))); } else { holidays.add(date(year, 2, 1).with(dayOfWeekInMonth(3, MONDAY))); holidays.add(bumpSunToMon(date(year, 5, 30))); } else { holidays.add(date(year, 5, 1).with(lastInMonth(MONDAY))); holidays.add(date(year, 9, 1).with(firstInMonth(MONDAY))); holidays.add(bumpSunToMon(date(year, 10, 12))); } else { holidays.add(date(year, 10, 1).with(dayOfWeekInMonth(2, MONDAY))); holidays.add(date(year, 10, 1).with(dayOfWeekInMonth(4, MONDAY))); } else { holidays.add(bumpSunToMon(date(year, 11, 11))); holidays.add(date(year, 11, 1).with(dayOfWeekInMonth(4, THURSDAY))); holidays.add(bumpToFriOrMon(date(year, 7, 4))); holidays.add(bumpToFriOrMon(date(year, 12, 25))); } else { holidays.add(bumpSunToMon(date(year, 7, 4))); holidays.add(bumpSunToMon(date(year, 12, 25)));
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); }
static ImmutableHolidayCalendar generateAuckland() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { newZealand(holidays, year); // auckland anniversary day holidays.add(date(year, 1, 29).minusDays(3).with(nextOrSame(MONDAY))); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarId.of("NZAU"), holidays, SATURDAY, SUNDAY); }
private static void newZealand(List<LocalDate> holidays, int year) { LocalDate newYear = bumpToMon(date(year, 1, 1)); holidays.add(newYear); holidays.add(bumpToMon(newYear.plusDays(1))); holidays.add(bumpToMon(date(year, 2, 6))); } else { holidays.add(date(year, 2, 6)); holidays.add(bumpToMon(date(year, 4, 25))); } else { holidays.add(date(year, 4, 25));
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); }
static ImmutableHolidayCalendar generateWellington() { List<LocalDate> holidays = new ArrayList<>(2000); for (int year = 1950; year <= 2099; year++) { newZealand(holidays, year); // wellington anniversary day holidays.add(date(year, 1, 22).minusDays(3).with(nextOrSame(MONDAY))); } removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarId.of("NZWE"), holidays, SATURDAY, SUNDAY); }
holidays.add(date(1995, 5, 8)); } else if (year >= 1978) { holidays.add(first(year, 5).with(firstInMonth(MONDAY))); holidays.add(date(2002, 6, 3)); holidays.add(date(2002, 6, 4)); } else if (year == 2012) { holidays.add(date(2012, 6, 4)); holidays.add(date(2012, 6, 5)); } else if (year == 1967 || year == 1970) { holidays.add(first(year, 5).with(lastInMonth(MONDAY))); holidays.add(boxingDayBumpedSatSun(year)); holidays.add(date(2011, 4, 29)); // royal wedding holidays.add(date(1999, 12, 31)); // millennium removeSatSun(holidays); return ImmutableHolidayCalendar.of(HolidayCalendarIds.GBLO, holidays, SATURDAY, SUNDAY);
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); }