Example usage for org.joda.time Days daysBetween

List of usage examples for org.joda.time Days daysBetween

Introduction

In this page you can find the example usage for org.joda.time Days daysBetween.

Prototype

public static Days daysBetween(ReadablePartial start, ReadablePartial end) 

Source Link

Document

Creates a Days representing the number of whole days between the two specified partial datetimes.

Usage

From source file:net.sourceforge.fenixedu.domain.accounting.postingRules.ResidencePR.java

License:Open Source License

@Override
protected Money doCalculationForAmountToPay(Event event, DateTime when, boolean applyDiscount) {
    ResidenceEvent residenceEvent = (ResidenceEvent) event;
    Money baseValue = residenceEvent.getRoomValue();
    if (residenceEvent.getPaymentLimitDate().isAfter(when)) {
        return baseValue;
    }//from  w w  w  .j  a v  a 2 s.  c  o m
    return baseValue.add(getPenaltyPerDay().multiply(
            BigDecimal.valueOf(Days.daysBetween(residenceEvent.getPaymentLimitDate(), when).getDays())));
}

From source file:net.sourceforge.fenixedu.domain.personnelSection.contracts.PersonContractSituation.java

License:Open Source License

public PersonProfessionalExemption getPersonProfessionalExemption() {
    PersonProfessionalExemption exemption = null;
    int exemptionDays = 0;
    for (PersonProfessionalExemption personProfessionalExemption : getGiafProfessionalData()
            .getValidPersonProfessionalExemption()) {
        if (personProfessionalExemption.getBeginDate().equals(getBeginDate())) {
            if (personProfessionalExemption instanceof PersonSabbatical) {
                return personProfessionalExemption;
            }/*w  w  w . j  ava2  s .c om*/
            int personProfessionalExemptionDays = Days.daysBetween(personProfessionalExemption.getBeginDate(),
                    personProfessionalExemption.getEndDate()).getDays();
            if (personProfessionalExemptionDays > exemptionDays) {
                exemption = personProfessionalExemption;
                exemptionDays = personProfessionalExemptionDays;
            }
        }
    }
    return exemption;
}

From source file:net.sourceforge.fenixedu.domain.personnelSection.contracts.PersonContractSituation.java

License:Open Source License

public int getDaysInInterval(Interval intervalWithNextPeriods) {
    LocalDate beginDate = getBeginDate().isBefore(intervalWithNextPeriods.getStart().toLocalDate())
            ? intervalWithNextPeriods.getStart().toLocalDate()
            : getBeginDate();/* ww  w  .  j  av  a 2s.  co  m*/
    LocalDate endDate = getEndDate() == null
            || getEndDate().isAfter(intervalWithNextPeriods.getEnd().toLocalDate())
                    ? intervalWithNextPeriods.getEnd().toLocalDate()
                    : getEndDate();
    return Days.daysBetween(beginDate, endDate).getDays();
}

From source file:net.sourceforge.fenixedu.domain.personnelSection.contracts.PersonProfessionalRegime.java

License:Open Source License

public int getDaysInInterval(Interval interval) {
    LocalDate beginDate = getBeginDate().isBefore(interval.getStart().toLocalDate())
            ? interval.getStart().toLocalDate()
            : getBeginDate();/* w w  w. ja va  2  s .com*/
    LocalDate endDate = getEndDate() == null || getEndDate().isAfter(interval.getEnd().toLocalDate())
            ? interval.getEnd().toLocalDate()
            : getEndDate();
    return Days.daysBetween(beginDate, endDate).getDays();
}

From source file:net.sourceforge.fenixedu.domain.phd.alert.PhdCandidacyRefereeAlert.java

License:Open Source License

@Override
protected boolean isToFire() {
    int days = Days.daysBetween(calculateStartDate().toDateMidnight(), new LocalDate().toDateMidnight())
            .getDays();//from   ww  w.  j a  v a  2  s.c o m
    return days >= INTERVAL;
}

From source file:net.sourceforge.fenixedu.domain.phd.alert.PhdPublicPresentationSeminarAlert.java

License:Open Source License

private int getDaysUntilNow(final LocalDate begin) {
    return Days.daysBetween(begin, new LocalDate()).getDays();
}

From source file:net.sourceforge.fenixedu.domain.phd.alert.PhdReporterReviewAlert.java

License:Open Source License

private int getDaysLeftUntilDeadline(PhdIndividualProgramProcess process) {
    return Days.daysBetween(new LocalDate(), getLimitDateForDeadline(process)).getDays();
}

From source file:net.sourceforge.fenixedu.domain.phd.thesis.activities.RemindJuryReviewToReporters.java

License:Open Source License

private int daysLeftUntilDeadline(PhdThesisProcess process) {
    return Days.daysBetween(new LocalDate(),
            process.getWhenJuryValidated().plusDays(PhdReporterReviewAlert.getReporterReviewDeadlineDays()))
            .getDays();//  ww w.  j  a v a2 s  .com
}

From source file:net.sourceforge.fenixedu.domain.phd.thesis.activities.RequestJuryReviews.java

License:Open Source License

private int getDaysLeftForReview(PhdThesisProcess process) {
    return Days
            .daysBetween(process.getWhenJuryValidated()
                    .plusDays(PhdReporterReviewAlert.getReporterReviewDeadlineDays()), new LocalDate())
            .getDays();/*from ww w  .java  2  s.c om*/
}

From source file:net.sourceforge.fenixedu.presentationTier.TagLib.GanttDiagramTagLib.java

License:Open Source License

private StringBuilder generateGanttDiagramInTotalMode(BigDecimal tableWidth) throws JspException {

    StringBuilder builder = new StringBuilder();

    if (!getEvents().isEmpty()) {
        if (isShowPeriod() && isShowObservations()) {
            builder.append("<table style=\"width:")
                    .append(tableWidth.add(BigDecimal.valueOf(FIXED_COLUMNS_SIZE_EM)))
                    .append("em;\" class=\"tcalendar thlight\">");
        } else {/*w  w  w  . j  a v  a 2 s.  com*/
            builder.append("<table style=\"width:")
                    .append(tableWidth.add(BigDecimal.valueOf(FIXED_COLUMNS_SIZE_EM - 35)))
                    .append("em;\" class=\"tcalendar thlight\">");
        }
        generateHeaders(builder);

        int scale = getScale();

        String selectedEvent = getRequest().getParameter(getEventParameter());
        Object selectedEventObject = getRequest().getAttribute(getEventParameter());

        for (GanttDiagramEvent event : getEvents()) {

            String eventUrl = getRequest().getContextPath() + getEventUrl() + "&amp;" + getEventParameter()
                    + "=" + event.getGanttDiagramEventIdentifier();
            String eventName = event.getGanttDiagramEventName().getContent(getGanttDiagramObject().getLocale());
            String paddingStyle = "padding-left:" + event.getGanttDiagramEventOffset() * PADDING_LEFT_MULTIPLIER
                    + "px";

            if (event.getGanttDiagramEventIdentifier().equals(selectedEvent) || (selectedEventObject != null
                    && event.getGanttDiagramEventIdentifier().equals(selectedEventObject.toString()))) {
                builder.append("<tr class=\"selected\">");
            } else {
                builder.append("<tr>");
            }

            builder.append("<td class=\"padded\">")
                    .append("<div style=\"overflow:hidden; width: 14.5em;\" class=\"nowrap\">");
            builder.append("<span style=\"").append(paddingStyle).append("\" title=\"").append(eventName)
                    .append("\">");
            builder.append("<a href=\"").append(eventUrl).append("\">").append("*").append(eventName);
            builder.append("</a></span></div></td>");

            for (DateTime month : getGanttDiagramObject().getMonths()) {

                DateTime firstDayOfMonth = (month.getDayOfMonth() != 1) ? month.withDayOfMonth(1) : month;
                DateTime lastDayOfMonth = firstDayOfMonth.plusMonths(1).minusDays(1);
                int monthNumberOfDays = Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1;
                BigDecimal entryDays = EMPTY_UNIT, startDay = EMPTY_UNIT;

                builder.append("<td style=\"width: ").append(convertToEm(monthNumberOfDays * scale))
                        .append("em;\"><div style=\"position: relative;\">");

                for (Interval interval : event.getGanttDiagramEventSortedIntervals()) {

                    DateMidnight intervalStart = interval.getStart().toDateMidnight();
                    DateMidnight intervalEnd = interval.getEnd().toDateMidnight();

                    // Started in this month
                    if (intervalStart.getMonthOfYear() == month.getMonthOfYear()
                            && intervalStart.getYear() == month.getYear()) {

                        // Ended in this month
                        if (interval.getEnd().getMonthOfYear() == month.getMonthOfYear()
                                && intervalEnd.getYear() == month.getYear()) {

                            // Started in first day of this month
                            if (intervalStart.getDayOfMonth() == 1) {

                                // Ended in the last day of this month
                                if (intervalEnd.getDayOfMonth() == monthNumberOfDays) {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }

                                // Ended before last day of this month
                                else {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(intervalStart, intervalEnd).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }
                            }

                            // Started after first day of this month
                            else {

                                // Ended in the last day of this month
                                if (intervalEnd.getDayOfMonth() == monthNumberOfDays) {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }

                                // Ended before last day of this month
                                else {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(intervalStart, intervalEnd).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }
                            }
                        }

                        // Ended after this month
                        else {
                            entryDays = convertToEm(
                                    (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1) * scale);
                            startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                            addSpecialDiv(builder, entryDays, startDay);
                        }

                        // Not Started in this month
                    } else {

                        // Started before this month
                        if (intervalStart.getYear() < month.getYear()
                                || (intervalStart.getYear() == month.getYear()
                                        && intervalStart.getMonthOfYear() < month.getMonthOfYear())) {

                            // Ended after this month
                            if (intervalEnd.getYear() > month.getYear()
                                    || (intervalEnd.getYear() == month.getYear()
                                            && intervalEnd.getMonthOfYear() > month.getMonthOfYear())) {

                                entryDays = convertToEm(
                                        (Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1)
                                                * scale);
                                startDay = convertToEm((firstDayOfMonth.getDayOfMonth() - 1) * scale);
                                addSpecialDiv(builder, entryDays, startDay);
                            } else {

                                // Ended in this month
                                if (intervalEnd.getMonthOfYear() == month.getMonthOfYear()
                                        && intervalEnd.getYear() == month.getYear()) {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(firstDayOfMonth, intervalEnd).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((firstDayOfMonth.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }
                            }
                        }
                    }
                }
                builder.append("</div></td>");
            }
            if (isShowPeriod()) {
                builder.append("<td class=\"padded smalltxt\" title=\"")
                        .append(event.getGanttDiagramEventPeriod())
                        .append("\"><div style=\"overflow:hidden;\" class=\"nowrap\">")
                        .append(event.getGanttDiagramEventPeriod()).append("</div></td>");
            }
            if (isShowObservations()) {
                builder.append("<td class=\"padded smalltxt\">")
                        .append(event.getGanttDiagramEventObservations()).append("</td>");
            }
            builder.append("</tr>");
        }

        insertNextAndBeforeLinks(builder);
        builder.append("</table>");
    }
    return builder;
}