Search in sources :

Example 31 with Date

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);
}
Also used : NamedaysList(com.alexstyl.specialdates.events.namedays.NamedaysList) JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) JSONException(org.json.JSONException) NamedayBundle(com.alexstyl.specialdates.events.namedays.NamedayBundle) Date(com.alexstyl.specialdates.date.Date)

Example 32 with Date

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);
    }
}
Also used : Calendar(java.util.Calendar) Date(com.alexstyl.specialdates.date.Date)

Example 33 with Date

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);
    }
}
Also used : Date(com.alexstyl.specialdates.date.Date)

Example 34 with Date

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);
}
Also used : ArrayList(java.util.ArrayList) Date(com.alexstyl.specialdates.date.Date)

Example 35 with Date

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);
}
Also used : Date(com.alexstyl.specialdates.date.Date) Test(org.junit.Test)

Aggregations

Date (com.alexstyl.specialdates.date.Date)53 Test (org.junit.Test)34 ContactEvent (com.alexstyl.specialdates.date.ContactEvent)12 Contact (com.alexstyl.specialdates.contact.Contact)6 ContactEventsOnADate (com.alexstyl.specialdates.events.peopleevents.ContactEventsOnADate)6 ArrayList (java.util.ArrayList)4 View (android.view.View)3 Intent (android.content.Intent)2 RecyclerView (android.support.v7.widget.RecyclerView)2 TextView (android.widget.TextView)2 NamedayBundle (com.alexstyl.specialdates.events.namedays.NamedayBundle)2 NamedaysList (com.alexstyl.specialdates.events.namedays.NamedaysList)2 NamesInADate (com.alexstyl.specialdates.events.namedays.NamesInADate)2 Calendar (java.util.Calendar)2 DatePickerDialog (android.app.DatePickerDialog)1 PendingIntent (android.app.PendingIntent)1 DialogInterface (android.content.DialogInterface)1 Preference (android.preference.Preference)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 RemoteViews (android.widget.RemoteViews)1