List of usage examples for org.joda.time LocalDate plusWeeks
public LocalDate plusWeeks(int weeks)
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); }