Example usage for org.joda.time LocalDate plusWeeks

List of usage examples for org.joda.time LocalDate plusWeeks

Introduction

In this page you can find the example usage for org.joda.time LocalDate plusWeeks.

Prototype

public LocalDate plusWeeks(int weeks) 

Source Link

Document

Returns a copy of this date plus the specified number of weeks.

Usage

From source file:courtscheduler.domain.DateConstraint.java

License:Apache License

public Integer[] findDayOfWeek(int weekday) {
    LocalDate firstDay = info.getConferenceStartDate().withDayOfWeek(weekday);
    ArrayList<Integer> days = new ArrayList<Integer>();
    if (firstDay.isBefore(info.getConferenceStartDate())) {
        firstDay.plusWeeks(1);
    }/*w w w .j ava2  s .c om*/
    while (firstDay.isBefore(info.getConferenceEndDate()) || firstDay.equals(info.getConferenceEndDate())) {
        Integer index = Days.daysBetween(info.getConferenceStartDate(), firstDay).getDays();
        if (index >= 0) {
            days.add(index);
        }
        firstDay = firstDay.plusWeeks(1);
    }
    return days.toArray(new Integer[days.size()]);
}

From source file:fenix.planner.pdf.PDFGeneratorTestProgram.java

License:Open Source License

private static Program createProgram() throws IOException {
    Program program = new Program();

    program.getHeader().setDepartmentName("Ankeborgs Frivilliga Brandkr");
    program.getHeader().setSectionName("Larmavdelningen");
    program.getHeader().setHeading("vningsprogram fr r 2013");
    program.getHeader().setLogo(ImageIO.read(PDFGeneratorTestProgram.class.getResourceAsStream("logo.png")));
    program.getHeader().setAuthorInitials("K.A.");

    Organizer organizer;// w  w w.  j  av a 2 s  . c  om
    List<Organizer> organizers = new ArrayList<>();
    for (int i = 0; i < NAMES.length; ++i) {
        organizer = program.addOrganizer();
        organizer.setFullName(NAMES[i]);
        organizer.setInitials(INITIALS[i]);
        organizers.add(organizer);
        // TODO phone number & e-mail
    }

    Event event;
    LocalDate date = new LocalDate(2013, 1, 3);
    for (int i = 0; i < 52; ++i) {
        event = program.addEvent();
        event.setDate(date);
        event.setSubject(pigLatin(30, false));
        event.setDescription(pigLatin(150, true));
        event.setOrganizer(organizers.get(rnd.nextInt(organizers.size())));
        date = date.plusWeeks(1);
    }
    return program;
}

From source file:fr.mycellar.application.booking.impl.BookingEventServiceImpl.java

License:Open Source License

@Override
public BookingEvent nextBookingEvent(Integer id) throws BusinessException {
    BookingEvent bookingEvent = getById(id);
    if (bookingEvent == null) {
        throw new BusinessException(BusinessError.OTHER_00003);
    }//w w w  .j  a va2 s . c  om

    BookingEvent next = new BookingEvent();
    next.setName(bookingEvent.getName());

    LocalDate today = new LocalDate();
    LocalDate friday = today.withDayOfWeek(DateTimeConstants.FRIDAY);
    if (!friday.isAfter(today)) {
        friday = friday.plusWeeks(1);
    }
    next.setStart(friday);
    next.setEnd(friday.plusWeeks(1).withDayOfWeek(DateTimeConstants.WEDNESDAY));

    for (BookingBottle bookingBottle : bookingEvent.getBottles()) {
        BookingBottle copy = new BookingBottle();
        copy.setBookingEvent(next);
        copy.setBottle(new Bottle());
        copy.getBottle().setFormat(bookingBottle.getBottle().getFormat());
        Wine wine;
        Wine original = bookingBottle.getBottle().getWine();
        if (original.getVintage() == null) {
            wine = original;
        } else {
            wine = wineService.find(original.getProducer(), original.getAppellation(), original.getType(),
                    original.getColor(), original.getName(), original.getVintage() + 1);
            if (wine == null) {
                wine = wineService
                        .createVintages(original, original.getVintage() + 1, original.getVintage() + 1).get(0);
            }
        }
        copy.getBottle().setWine(wine);
        copy.setMax(bookingBottle.getMax());
        copy.setPosition(bookingBottle.getPosition());
        copy.setPrice(bookingBottle.getPrice());
        copy.setUrl(bookingBottle.getUrl());
        next.getBottles().add(copy);
    }
    return save(next);
}

From source file:net.objectlab.kit.datecalc.joda.LocalDateIMMDateCalculator.java

License:Apache License

/**
 * Assumes that the month is correct, get the day for the 2rd wednesday.
 *
 * @param original//ww w .java  2s.co m
 *            the start date
 * @return the 3rd Wednesday of the month
 */
private LocalDate calculate3rdWednesday(final LocalDate original) {
    final LocalDate firstOfMonth = original.withDayOfMonth(1);
    LocalDate firstWed = firstOfMonth.withDayOfWeek(MONTHS_IN_QUARTER);
    if (firstWed.isBefore(firstOfMonth)) {
        firstWed = firstWed.plusWeeks(1);
    }
    return firstWed.plusWeeks(2);
}

From source file:org.apache.fineract.portfolio.calendar.service.CalendarUtils.java

License:Apache License

public static LocalDate getRecentEligibleMeetingDate(final String recurringRule, final LocalDate seedDate) {
    LocalDate currentDate = DateUtils.getLocalDateOfTenant();
    final Recur recur = CalendarUtils.getICalRecur(recurringRule);
    if (recur == null) {
        return null;
    }/*from www  .j a va 2 s.c o m*/

    if (isValidRecurringDate(recur, seedDate, currentDate)) {
        return currentDate;
    }

    if (recur.getFrequency().equals(Recur.DAILY)) {
        currentDate = currentDate.plusDays(recur.getInterval());
    } else if (recur.getFrequency().equals(Recur.WEEKLY)) {
        currentDate = currentDate.plusWeeks(recur.getInterval());
    } else if (recur.getFrequency().equals(Recur.MONTHLY)) {
        currentDate = currentDate.plusMonths(recur.getInterval());
    } else if (recur.getFrequency().equals(Recur.YEARLY)) {
        currentDate = currentDate.plusYears(recur.getInterval());
    }

    return getNextRecurringDate(recur, seedDate, currentDate);
}

From source file:org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanApplicationTerms.java

License:Apache License

public BigDecimal calculatePeriodsBetweenDates(final LocalDate startDate, final LocalDate endDate) {
    BigDecimal numberOfPeriods = BigDecimal.ZERO;
    switch (this.repaymentPeriodFrequencyType) {
    case DAYS://from w  ww.jav  a  2  s  . co m
        int numberOfDays = Days.daysBetween(startDate, endDate).getDays();
        numberOfPeriods = BigDecimal.valueOf((double) numberOfDays);
        break;
    case WEEKS:
        int numberOfWeeks = Weeks.weeksBetween(startDate, endDate).getWeeks();
        int daysLeftAfterWeeks = Days.daysBetween(startDate.plusWeeks(numberOfWeeks), endDate).getDays();
        numberOfPeriods = numberOfPeriods.add(BigDecimal.valueOf(numberOfWeeks))
                .add(BigDecimal.valueOf((double) daysLeftAfterWeeks / 7));
        break;
    case MONTHS:
        int numberOfMonths = Months.monthsBetween(startDate, endDate).getMonths();
        LocalDate startDateAfterConsideringMonths = startDate.plusMonths(numberOfMonths);
        LocalDate endDateAfterConsideringMonths = startDate.plusMonths(numberOfMonths + 1);
        int daysLeftAfterMonths = Days.daysBetween(startDateAfterConsideringMonths, endDate).getDays();
        int daysInPeriodAfterMonths = Days
                .daysBetween(startDateAfterConsideringMonths, endDateAfterConsideringMonths).getDays();
        numberOfPeriods = numberOfPeriods.add(BigDecimal.valueOf(numberOfMonths))
                .add(BigDecimal.valueOf((double) daysLeftAfterMonths / daysInPeriodAfterMonths));
        break;
    case YEARS:
        int numberOfYears = Years.yearsBetween(startDate, endDate).getYears();
        LocalDate startDateAfterConsideringYears = startDate.plusYears(numberOfYears);
        LocalDate endDateAfterConsideringYears = startDate.plusYears(numberOfYears + 1);
        int daysLeftAfterYears = Days.daysBetween(startDateAfterConsideringYears, endDate).getDays();
        int daysInPeriodAfterYears = Days
                .daysBetween(startDateAfterConsideringYears, endDateAfterConsideringYears).getDays();
        numberOfPeriods = numberOfPeriods.add(BigDecimal.valueOf(numberOfYears))
                .add(BigDecimal.valueOf((double) daysLeftAfterYears / daysInPeriodAfterYears));
        break;
    default:
        break;
    }
    return numberOfPeriods;
}

From source file:org.apache.fineract.portfolio.loanaccount.loanschedule.service.LoanScheduleAssembler.java

License:Apache License

private LocalDate deriveFirstRepaymentDate(final AccountType loanType, final Integer repaymentEvery,
        final LocalDate expectedDisbursementDate, final PeriodFrequencyType repaymentPeriodFrequencyType,
        final Integer minimumDaysBetweenDisbursalAndFirstRepayment, final Calendar calendar) {

    LocalDate derivedFirstRepayment = null;

    final LocalDate dateBasedOnMinimumDaysBetweenDisbursalAndFirstRepayment = expectedDisbursementDate
            .plusDays(minimumDaysBetweenDisbursalAndFirstRepayment);

    if ((loanType.isJLGAccount() || loanType.isGroupAccount()) && calendar != null) {

        final LocalDate refernceDateForCalculatingFirstRepaymentDate = expectedDisbursementDate;
        derivedFirstRepayment = deriveFirstRepaymentDateForJLGLoans(repaymentEvery, expectedDisbursementDate,
                refernceDateForCalculatingFirstRepaymentDate, repaymentPeriodFrequencyType,
                minimumDaysBetweenDisbursalAndFirstRepayment, calendar);

    } /*** Individual or group account, or JLG not linked to a meeting ***/
    else {/*from  w  w w. j a  va  2  s  . co m*/
        LocalDate dateBasedOnRepaymentFrequency;
        // Derive the first repayment date as greater date among
        // (disbursement date + plus frequency) or
        // (disbursement date + minimum between disbursal and first
        // repayment )
        if (repaymentPeriodFrequencyType.isDaily()) {
            dateBasedOnRepaymentFrequency = expectedDisbursementDate.plusDays(repaymentEvery);
        } else if (repaymentPeriodFrequencyType.isWeekly()) {
            dateBasedOnRepaymentFrequency = expectedDisbursementDate.plusWeeks(repaymentEvery);
        } else if (repaymentPeriodFrequencyType.isMonthly()) {
            dateBasedOnRepaymentFrequency = expectedDisbursementDate.plusMonths(repaymentEvery);
        } /** yearly loan **/
        else {
            dateBasedOnRepaymentFrequency = expectedDisbursementDate.plusYears(repaymentEvery);
        }
        derivedFirstRepayment = dateBasedOnRepaymentFrequency.isAfter(
                dateBasedOnMinimumDaysBetweenDisbursalAndFirstRepayment) ? dateBasedOnRepaymentFrequency
                        : dateBasedOnMinimumDaysBetweenDisbursalAndFirstRepayment;
    }

    return derivedFirstRepayment;
}

From source file:org.apache.niolex.common.joda.Joda.java

License:Apache License

/**
 * @param args//from  ww  w  . j a  va 2s  . com
 */
public static void main(String[] args) {
    Locale.setDefault(Locale.ENGLISH);
    // --- ?
    LocalDate now = new LocalDate();
    LocalDate lastDayOfPreviousMonth = now.minusMonths(1).dayOfMonth().withMaximumValue();
    // - Print
    SystemUtil.println(lastDayOfPreviousMonth.toString());

    // ---  11 ?
    LocalDate electionDate = now.monthOfYear().setCopy(11) // November
            .dayOfMonth() // Access Day Of Month Property
            .withMinimumValue() // Get its minimum value
            .plusDays(6) // Add 6 days
            .dayOfWeek() // Access Day Of Week Property
            .setCopy("Monday") // Set to Monday (it will round down)
            .plusDays(1); // Gives us Tuesday
    // - Print
    SystemUtil.println(electionDate.toString());

    // --- ??
    LocalDate then = now.plusWeeks(2);
    // - Print
    SystemUtil.println(then.toString());
}

From source file:org.egov.tl.service.ValidityService.java

License:Open Source License

private void applyLicenseExpiryBasedOnCustomValidity(TradeLicense license, Validity validity) {
    LocalDate nextExpiryDate = new LocalDate(license.isNewApplication() ? license.getCommencementDate()
            : license.getCurrentDemand().getEgInstallmentMaster().getFromDate());
    if (validity.getYear() != null && validity.getYear() > 0)
        nextExpiryDate = nextExpiryDate.plusYears(validity.getYear());
    if (validity.getMonth() != null && validity.getMonth() > 0)
        nextExpiryDate = nextExpiryDate.plusMonths(validity.getMonth());
    if (validity.getWeek() != null && validity.getWeek() > 0)
        nextExpiryDate = nextExpiryDate.plusWeeks(validity.getWeek());
    if (validity.getDay() != null && validity.getDay() > 0)
        nextExpiryDate = nextExpiryDate.plusDays(validity.getDay());
    license.setDateOfExpiry(nextExpiryDate.toDate());
}

From source file:org.mifos.application.meeting.business.MeetingBO.java

License:Open Source License

public boolean queryDateIsInMeetingIntervalForFixedDate(LocalDate queryDate, LocalDate fixedDate) {
    LocalDate startOfMeetingInterval = startDateForMeetingInterval(fixedDate);
    LocalDate endOfMeetingInterval;
    if (isWeekly()) {
        endOfMeetingInterval = startOfMeetingInterval.plusWeeks(getRecurAfter());
    } else if (isMonthly()) {
        endOfMeetingInterval = startOfMeetingInterval.plusMonths(getRecurAfter());
    } else {//from w  w w  . j  av a 2s  .co m
        // we don't handle meeting intervals in days
        return false;
    }
    return (queryDate.isEqual(startOfMeetingInterval) || queryDate.isAfter(startOfMeetingInterval))
            && queryDate.isBefore(endOfMeetingInterval);
}