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:com.jd.survey.service.security.UserService.java

License:Open Source License

public boolean user_validateDateofBirthAndLogin(String login, Date dob) {
    try {//w  w  w .  j a v a 2s .com
        User user = userDAO.findByLogin(login);
        if (user == null) {
            return false; //login not found
        }
        //check the provided dob against the database   
        int days = Days.daysBetween(new DateTime(user.getDateOfBirth()), new DateTime(dob)).getDays();
        if (days == 0) {
            return true;
        } else {
            return false;
        }
    } catch (Exception e) {
        log.error(e.getMessage(), e);
        throw (new RuntimeException(e));
    }
}

From source file:com.leonarduk.finance.utils.DateUtils.java

License:Open Source License

public static int getDiffInWorkDays(final LocalDate currentDate, final LocalDate nextDate) {
    final int calendarDaysDiff = Math.abs(Days.daysBetween(nextDate, currentDate).getDays());
    final int weeks = Math.round(calendarDaysDiff / 7);
    return Math.abs((5 * weeks) + Math.min(calendarDaysDiff % 7, 5));
}

From source file:com.linkedin.cubert.analyzer.physical.CountDistinctRewriter.java

License:Open Source License

private JsonNode createRshiftNode(String relName, String[] factColumns) {
    Object[] generateArgs = new Object[(factColumns.length + 1) * 2];

    int i;/*from   w  w  w.j a v  a 2  s  . c o  m*/
    for (i = 0; i < factColumns.length; i++) {
        generateArgs[2 * i] = factColumns[i];
        generateArgs[2 * i + 1] = RewriteUtils.createProjection(factColumns[i]);
    }

    generateArgs[2 * i] = BITMAP_COLUMN_NAME;
    JsonNode projNode = RewriteUtils.createProjection(BITMAP_COLUMN_NAME);
    ObjectNode rshiftNode = null;
    boolean bitmasking = false;

    if (mvRefreshDateOverride != -1 && mvRefreshDateOverride < mvRefreshDate) {
        /*
         * we mask all bit positions between (refreshdate over-ride , refreshdate]
         * mvRefreshDate corresponds to the most significant (right most) bit
         * position. mvRefreshDateOverride is the most significant position that must
         * be retained following the bit masking.
         */
        int dateDiff;

        if (mvRefreshDateOverride == 0)
            dateDiff = 31;
        else {
            DateTime endD = (DateTimeUtilities.getDateTime(mvRefreshDate));
            DateTime startD = (DateTimeUtilities.getDateTime(mvRefreshDateOverride));

            dateDiff = Days.daysBetween(endD, startD).getDays();
            dateDiff = Math.max(dateDiff, 31);

            int mask = 0xffffffff >> (dateDiff);

            if (dateDiff <= 31) {
                rshiftNode = RewriteUtils.createFunctionNode("BITAND", projNode,
                        RewriteUtils.createIntegerConstant(mask));
                bitmasking = true;
            }
        }
    }

    nbitmapshifts = Days.daysBetween(DateTimeUtilities.getDateTime(factStartDate),
            DateTimeUtilities.getDateTime(mvHorizonDate)).getDays();

    if (bitmasking)
        rshiftNode = RewriteUtils.createFunctionNode("RSHIFT", rshiftNode,
                RewriteUtils.createIntegerConstant(nbitmapshifts));
    else
        rshiftNode = RewriteUtils.createFunctionNode("RSHIFT", projNode,
                RewriteUtils.createIntegerConstant(nbitmapshifts));

    generateArgs[2 * i + 1] = rshiftNode;

    return RewriteUtils.createGenerateNode(relName, relName, generateArgs);
}

From source file:com.liteoc.logic.expressionTree.ArithmeticOpNode.java

License:LGPL

private String calculateDaysBetween(String value1, String value2) {
    DateMidnight dm1 = new DateMidnight(ExpressionTreeHelper.getDate(value1).getTime());
    DateMidnight dm2 = new DateMidnight(ExpressionTreeHelper.getDate(value2).getTime());
    switch (op) {
    case MINUS: {
        Days d = Days.daysBetween(dm1, dm2);
        int days = d.getDays();
        return String.valueOf(Math.abs(days));
    }//from   w w  w. j a va 2  s  .  c  om
    default:
        return null; // Bad operator!
    }
}

From source file:com.marand.thinkmed.medications.administration.impl.AdministrationTaskCreatorImpl.java

License:Open Source License

private boolean isInValidDaysFrequency(final DateTime start, final DateTime when, final Integer daysFrequency) {
    return daysFrequency == null
            || Days.daysBetween(start.withTimeAtStartOfDay(), when.withTimeAtStartOfDay()).getDays()
                    % daysFrequency == 0;
}

From source file:com.marand.thinkmed.medications.business.impl.DefaultMedicationsBo.java

License:Open Source License

@Override
public int getTherapyConsecutiveDay(final DateTime therapyStart, final DateTime therapyDay,
        final DateTime currentTime, final Integer pastDaysOfTherapy) {
    final int pastDays = pastDaysOfTherapy != null ? pastDaysOfTherapy : 0;

    //today//from  w w  w  .  j  a  va 2  s . c  om
    if (DateUtils.isSameDay(therapyDay.toDate(), currentTime.toDate())) {
        return Days.daysBetween(therapyStart, currentTime).getDays() + pastDays;
    }
    return Days.daysBetween(therapyStart.withTimeAtStartOfDay(), therapyDay.withTimeAtStartOfDay()).getDays()
            + pastDays;
}

From source file:com.marand.thinkmed.medications.business.impl.DefaultMedicationsBo.java

License:Open Source License

@Override
public boolean isTherapyActive(final List<String> daysOfWeek, final Integer dosingDaysFrequency,
        final Interval therapyInterval, final DateTime when) {
    if (therapyInterval.overlap(Intervals.wholeDay(when)) == null) {
        return false;
    }/*from   w ww.  ja  v  a  2s  .  c o m*/
    if (daysOfWeek != null) {
        boolean activeDay = false;
        final String searchDay = MedicationsEhrUtils.dayOfWeekToEhrEnum(when).name();
        for (final String day : daysOfWeek) {
            if (day.equals(searchDay)) {
                activeDay = true;
            }
        }
        if (!activeDay) {
            return false;
        }
    }
    if (dosingDaysFrequency != null) {
        final int daysFromStart = Days
                .daysBetween(therapyInterval.getStart().withTimeAtStartOfDay(), when.withTimeAtStartOfDay())
                .getDays();
        if (daysFromStart % dosingDaysFrequency != 0) {
            return false;
        }
    }
    return true;
}

From source file:com.mbc.jfin.util.DateUtils.java

License:Open Source License

public static int daysBetween(LocalDate start, LocalDate end) {
    return Days.daysBetween(start, end).getDays();
}

From source file:com.netflix.ice.basic.BasicDataManager.java

License:Apache License

private double[] getData(Interval interval, TagLists tagLists) throws ExecutionException {
    DateTime start = config.startDate;//from w  w  w . ja  va2 s  . c om
    DateTime end = config.startDate;

    if (consolidateType == ConsolidateType.hourly) {
        start = interval.getStart().withDayOfMonth(1).withMillisOfDay(0);
        end = interval.getEnd();
    } else if (consolidateType == ConsolidateType.daily) {
        start = interval.getStart().withDayOfYear(1).withMillisOfDay(0);
        end = interval.getEnd();
    }

    int num = 0;
    if (consolidateType == ConsolidateType.hourly) {
        num = interval.toPeriod(PeriodType.hours()).getHours();
        if (interval.getStart().plusHours(num).isBefore(interval.getEnd()))
            num++;
    } else if (consolidateType == ConsolidateType.daily) {
        num = interval.toPeriod(PeriodType.days()).getDays();
        if (interval.getStart().plusDays(num).isBefore(interval.getEnd()))
            num++;
    } else if (consolidateType == ConsolidateType.weekly) {
        num = interval.toPeriod(PeriodType.weeks()).getWeeks();
        if (interval.getStart().plusWeeks(num).isBefore(interval.getEnd()))
            num++;
    } else if (consolidateType == ConsolidateType.monthly) {
        num = interval.toPeriod(PeriodType.months()).getMonths();
        if (interval.getStart().plusMonths(num).isBefore(interval.getEnd()))
            num++;
    }

    double[] result = new double[num];

    do {
        ReadOnlyData data = getReadOnlyData(start);

        int resultIndex = 0;
        int fromIndex = 0;

        if (interval.getStart().isBefore(start)) {
            if (consolidateType == ConsolidateType.hourly) {
                resultIndex = Hours.hoursBetween(interval.getStart(), start).getHours();
            } else if (consolidateType == ConsolidateType.daily) {
                resultIndex = Days.daysBetween(interval.getStart(), start).getDays();
            } else if (consolidateType == ConsolidateType.weekly) {
                resultIndex = Weeks.weeksBetween(interval.getStart(), start).getWeeks();
            } else if (consolidateType == ConsolidateType.monthly) {
                resultIndex = Months.monthsBetween(interval.getStart(), start).getMonths();
            }
        } else {
            if (consolidateType == ConsolidateType.hourly) {
                fromIndex = Hours.hoursBetween(start, interval.getStart()).getHours();
            } else if (consolidateType == ConsolidateType.daily) {
                fromIndex = Days.daysBetween(start, interval.getStart()).getDays();
            } else if (consolidateType == ConsolidateType.weekly) {
                fromIndex = Weeks.weeksBetween(start, interval.getStart()).getWeeks();
                if (start.getDayOfWeek() != interval.getStart().getDayOfWeek())
                    fromIndex++;
            } else if (consolidateType == ConsolidateType.monthly) {
                fromIndex = Months.monthsBetween(start, interval.getStart()).getMonths();
            }
        }

        List<Integer> columeIndexs = Lists.newArrayList();
        int columeIndex = 0;
        for (TagGroup tagGroup : data.getTagGroups()) {
            if (tagLists.contains(tagGroup))
                columeIndexs.add(columeIndex);
            columeIndex++;
        }
        while (resultIndex < num && fromIndex < data.getNum()) {
            double[] fromData = data.getData(fromIndex++);
            for (Integer cIndex : columeIndexs)
                result[resultIndex] += fromData[cIndex];
            resultIndex++;
        }

        if (consolidateType == ConsolidateType.hourly)
            start = start.plusMonths(1);
        else if (consolidateType == ConsolidateType.daily)
            start = start.plusYears(1);
        else
            break;
    } while (start.isBefore(end));

    return result;
}

From source file:com.netsteadfast.greenstep.util.SimpleUtils.java

License:Apache License

public static int getDaysBetween(String startDate, String endDate) {
    DateTime s = new DateTime(getStrYMD(startDate.replaceAll("/", "-"), "-"));
    DateTime e = new DateTime(getStrYMD(endDate.replaceAll("/", "-"), "-"));
    return Days.daysBetween(s, e).getDays();
}