use of com.alexstyl.specialdates.date.Date in project Memento-Calendar by alexstyl.
the class NamedayJSONParser method createBundleWith.
private static NamedayBundle createBundleWith(NamedayJSON locale, Node namesToDate) {
NamedaysList dateToNames = new NamedaysList();
JSONArray data = locale.getData();
int size = data.length();
for (int i = 0; i < size; i++) {
try {
JSONObject nameday;
nameday = (JSONObject) data.get(i);
String dateString = nameday.getString("date");
Date theDate = getNamedaysFrom(dateString);
JSONArray variations = nameday.getJSONArray("names");
int numberOfVariations = variations.length();
for (int varCount = 0; varCount < numberOfVariations; varCount++) {
String variation = variations.getString(varCount);
namesToDate.addDate(variation, theDate);
dateToNames.addNameday(theDate, variation);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
return new NamedayBundle(namesToDate, dateToNames);
}
use of com.alexstyl.specialdates.date.Date in project Memento-Calendar by alexstyl.
the class SpecialGreekNamedaysCalculator method addSpecialPropatorwn.
@SuppressWarnings({ "MagicNumber" })
private void addSpecialPropatorwn(Node node, NamedaysList namedaysList) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, Calendar.DECEMBER);
calendar.set(Calendar.DAY_OF_MONTH, 11);
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
Date date = createDayDateFrom(calendar);
for (String variation : PROPATORWN) {
node.addDate(variation, date);
namedaysList.addNameday(date, variation);
}
}
use of com.alexstyl.specialdates.date.Date in project Memento-Calendar by alexstyl.
the class SpecialGreekNamedaysCalculator method addSpecialMarkos.
@SuppressWarnings({ "MagicNumber" })
private void addSpecialMarkos(Node node, NamedaysList namedaysList, Date easter) {
int year = Date.Companion.today().getYear();
Date date = Date.Companion.on(23, Months.APRIL, year);
if (COMPARATOR.compare(easter, date) > 0) {
date = date.addDay(2);
} else {
date = Date.Companion.on(25, Months.APRIL, year);
}
for (String variation : MARKOS_ALTS) {
node.addDate(variation, date);
namedaysList.addNameday(date, variation);
}
}
use of com.alexstyl.specialdates.date.Date in project Memento-Calendar by alexstyl.
the class GreekBankHolidaysCalculator method calculateBankholidaysForYear.
@SuppressWarnings("checkstyle:magicnumber")
List<BankHoliday> calculateBankholidaysForYear(int year) {
Date easter = easterCalculator.calculateEasterForYear(year);
List<BankHoliday> bankHolidays = new ArrayList<>();
bankHolidays.add(new BankHoliday("Πρωτοχρονιά", Date.Companion.on(1, JANUARY, year)));
bankHolidays.add(new BankHoliday("Χριστούγεννα", Date.Companion.on(25, DECEMBER, year)));
bankHolidays.add(new BankHoliday("Θεοφάνεια", Date.Companion.on(6, JANUARY, year)));
bankHolidays.add(new BankHoliday("Μεγάλη Παρασκευή", easter.minusDay(2)));
bankHolidays.add(new BankHoliday("Πάσχα", easter));
bankHolidays.add(new BankHoliday("2α Διακαινησίμου ", easter.addDay(1)));
bankHolidays.add(new BankHoliday("25η Μαρτίου (επανάσταση του 1821)", Date.Companion.on(25, MARCH, year)));
bankHolidays.add(new BankHoliday("Κοίμηση της Θεοτόκου (Δεκαπενταύγουστος)", Date.Companion.on(15, AUGUST, year)));
bankHolidays.add(new BankHoliday("26η Οκτωβρίου (εορτή Αγ.Δημητρίου - πολιούχου Θεσσαλονίκης)", Date.Companion.on(26, OCTOBER, year)));
bankHolidays.add(new BankHoliday("28η Οκτωβρίου (επέτειος του ΟΧΙ)", Date.Companion.on(28, OCTOBER, year)));
bankHolidays.add(new BankHoliday("Τσικνοπέμπτη", easter.minusDay(59)));
bankHolidays.add(new BankHoliday("Καθαρά Δευτέρα", easter.minusDay(48)));
bankHolidays.add(new BankHoliday("Κυριακή των Βαίων", easter.minusDay(7)));
bankHolidays.add(new BankHoliday("Σάββατο του Λαζάρου", easter.minusDay(8)));
bankHolidays.add(new BankHoliday("Μεγάλη Δευτέρα", easter.minusDay(6)));
bankHolidays.add(new BankHoliday("Του Θωμά", easter.addDay(7)));
bankHolidays.add(new BankHoliday("Πεντηκοστή", easter.addDay(59)));
bankHolidays.add(new BankHoliday("Αγ. Πνεύματος", easter.addDay(50)));
bankHolidays.add(new BankHoliday("Αγίων Πάντων", easter.addDay(56)));
return Collections.unmodifiableList(bankHolidays);
}
use of com.alexstyl.specialdates.date.Date in project Memento-Calendar by alexstyl.
the class DateTest method givenDateWithShortMonthAndLeapYear_thenReturn29Days.
@Test
public void givenDateWithShortMonthAndLeapYear_thenReturn29Days() {
Date date = Date.Companion.on(1, FEBRUARY, 2020);
assertThat(date.getDaysInCurrentMonth()).isEqualTo(29);
}
Aggregations