List of usage examples for org.joda.time DateTime plusMonths
public DateTime plusMonths(int months)
From source file:kr.debop4j.timeperiod.tools.Times.java
License:Apache License
/** ? ? . */ public static List<ITimePeriod> foreachQuarters(ITimePeriod period) { assert period != null; if (isTraceEnabled) log.trace("[{}]? Quarter ...", period); List<ITimePeriod> quarters = Lists.newArrayList(); if (period.isAnytime()) return quarters; assertHasPeriod(period);/*www . ja va2 s . co m*/ if (Times.isSameQuarter(period.getStart(), period.getEnd())) { quarters.add(new TimeRange(period)); return quarters; } DateTime current = Times.endTimeOfQuarter(period.getStart()); quarters.add(new TimeRange(period.getStart(), current)); int endHashCode = period.getEnd().getYear() * 10 + Times.quarterOf(period.getEnd()).getValue(); current = current.plusDays(1); ITimeCalendar calendar = TimeCalendar.getDefault(); while (current.getYear() * 10 + Times.quarterOf(current).getValue() < endHashCode) { quarters.add(Times.getQuarterRange(current, calendar)); current = current.plusMonths(TimeSpec.MonthsPerQuarter); } if (current.compareTo(period.getEnd()) < 0) quarters.add(new TimeRange(Times.startTimeOfQuarter(current), period.getEnd())); return quarters; }
From source file:kr.debop4j.timeperiod.tools.Times.java
License:Apache License
/** ? ? (Month) . */ public static List<ITimePeriod> foreachMonths(ITimePeriod period) { assert period != null; if (isTraceEnabled) log.trace("[{}]? (Month) ...", period); List<ITimePeriod> months = Lists.newArrayList(); if (period.isAnytime()) return months; assertHasPeriod(period);/* ww w.j a v a 2s .c o m*/ if (Times.isSameMonth(period.getStart(), period.getEnd())) { months.add(new TimeRange(period)); return months; } DateTime current = Times.endTimeOfMonth(period.getStart()); months.add(new TimeRange(period.getStart(), current)); DateTime monthEnd = Times.startTimeOfMonth(period.getEnd()); current = current.plusDays(1); ITimeCalendar calendar = TimeCalendar.getDefault(); while (current.compareTo(monthEnd) < 0) { months.add(Times.getMonthRange(current, calendar)); current = current.plusMonths(1); } current = Times.startTimeOfMonth(current); if (current.compareTo(period.getEnd()) < 0) months.add(new TimeRange(current, period.getEnd())); return months; }
From source file:nc.noumea.mairie.organigramme.core.utility.DateUtil.java
License:Open Source License
/** * Indique si date 1 est suprieur date 2 + nombreMois mois (et les 2 dates non null). * //from w w w . j a v a 2 s. c o m * @param date1 date qu'on souhaite comparer avec date2 * @param date2 date compare * @param nombreMois nombreMois * @return true si date1 et date2 non null, et date1 suprieur date2 + nombreMois mois */ public static boolean isNotNullAndAfterNMonth(Date date1, Date date2, int nombreMois) { if (date1 == null || date2 == null) { return false; } DateTime dateTime1 = new DateTime(date1); DateTime dateTime2 = new DateTime(date2); return dateTime1.isAfter(dateTime2.plusMonths(nombreMois)); }
From source file:net.sf.jasperreports.functions.standard.DateTimeFunctions.java
License:Open Source License
/** * Returns a date a number of months away. *//*from ww w . j av a 2s . c o m*/ @Function("EDATE") @FunctionParameters({ @FunctionParameter("dateObject"), @FunctionParameter("months") }) public Date EDATE(Object dateObject, Integer months) { Date convertedDate = convertDateObject(dateObject); if (convertedDate == null) { logCannotConvertToDate(); return null; } else { DateTime dt = new DateTime(convertedDate); dt = dt.plusMonths(months); return dt.toDate(); } }
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 {//from ww w. ja v a 2 s .c o m 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() + "&" + 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; }
From source file:net.sourceforge.fenixedu.presentationTier.TagLib.GanttDiagramTagLib.java
License:Open Source License
private void insertNextAndBeforeLinks(StringBuilder builder) throws JspException { YearMonthDay firstDay = getGanttDiagramObject().getFirstInstant().toYearMonthDay(); if (firstDay != null) { String nextUrl = ""; String beforeUrl = ""; switch (getViewTypeEnum()) { case WEEKLY: if (!StringUtils.isEmpty(getWeeklyViewUrl())) { nextUrl = getRequest().getContextPath() + getWeeklyViewUrl() + "&" + getFirstDayParameter() + "=" + firstDay.plusDays(Lesson.NUMBER_OF_DAYS_IN_WEEK).toString("ddMMyyyy"); beforeUrl = getRequest().getContextPath() + getWeeklyViewUrl() + "&" + getFirstDayParameter() + "=" + firstDay.minusDays(Lesson.NUMBER_OF_DAYS_IN_WEEK).toString("ddMMyyyy"); builder.append(/* ww w . ja va 2 s . c o m*/ "<tr><td class=\"tcalendarlinks\"></td><td colspan=\"7\" class=\"acenter tcalendarlinks\"> <span class=\"smalltxt\"><a href=\"") .append(beforeUrl).append("\">").append("<< ") .append(getMessage("label.previous.week")).append("</a>"); builder.append(" , ").append("<a href=\"").append(nextUrl).append("\">") .append(getMessage("label.next.week")).append(" >>").append("</a>") .append("</span></td><td class=\"tcalendarlinks\"></td><td class=\"tcalendarlinks\"></td></tr>"); } break; case DAILY: if (!StringUtils.isEmpty(getDailyViewUrl())) { nextUrl = getRequest().getContextPath() + getDailyViewUrl() + "&" + getFirstDayParameter() + "=" + firstDay.plusDays(1).toString("ddMMyyyy"); beforeUrl = getRequest().getContextPath() + getDailyViewUrl() + "&" + getFirstDayParameter() + "=" + firstDay.minusDays(1).toString("ddMMyyyy"); builder.append( "<tr><td class=\"tcalendarlinks\"></td><td class=\"acenter tcalendarlinks\"><span class=\"smalltxt\"><a href=\"") .append(beforeUrl).append("\">").append("<< ") .append(getMessage("label.previous.day")).append("</a>"); builder.append(" , ").append("<a href=\"").append(nextUrl).append("\">") .append(getMessage("label.next.day")).append(" >>").append("</a>") .append("</span></td><td class=\"tcalendarlinks\"></td><td class=\"tcalendarlinks\"></td></tr>"); } break; case MONTHLY: if (!StringUtils.isEmpty(getMonthlyViewUrl())) { DateTime month = firstDay.toDateTimeAtMidnight(); DateTime firstDayOfMonth = (month.getDayOfMonth() != 1) ? month.withDayOfMonth(1) : month; DateTime lastDayOfMonth = firstDayOfMonth.plusMonths(1).minusDays(1); int monthNumberOfDays = Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1; nextUrl = getRequest().getContextPath() + getMonthlyViewUrl() + "&" + getFirstDayParameter() + "=" + firstDay.plusMonths(1).toString("ddMMyyyy"); beforeUrl = getRequest().getContextPath() + getMonthlyViewUrl() + "&" + getFirstDayParameter() + "=" + firstDay.minusMonths(1).toString("ddMMyyyy"); builder.append("<tr><td class=\"tcalendarlinks\"></td><td colspan=\"").append(monthNumberOfDays) .append("\" class=\"acenter tcalendarlinks\"><span class=\"smalltxt\"><a href=\"") .append(beforeUrl).append("\">").append("<< ") .append(getMessage("label.previous.month")).append("</a>"); builder.append(" , ").append("<a href=\"").append(nextUrl).append("\">") .append(getMessage("label.next.month")).append(" >>").append("</a>") .append("</span></td><td class=\"tcalendarlinks\"></td><td class=\"tcalendarlinks\"></td></tr>"); } break; case YEAR_DAILY: if (!StringUtils.isEmpty(getMonthlyViewUrl())) { DateTime month = firstDay.toDateTimeAtMidnight(); DateTime firstDayOfMonth = (month.getDayOfMonth() != 1) ? month.withDayOfMonth(1) : month; DateTime lastDayOfMonth = firstDayOfMonth.plusMonths(1).minusDays(1); int monthNumberOfDays = Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1; nextUrl = getRequest().getContextPath() + getMonthlyViewUrl() + "&" + getFirstDayParameter() + "=" + firstDay.plusMonths(1).toString("ddMMyyyy"); beforeUrl = getRequest().getContextPath() + getMonthlyViewUrl() + "&" + getFirstDayParameter() + "=" + firstDay.minusMonths(1).toString("ddMMyyyy"); builder.append("<tr><td class=\"tcalendarlinks\"></td><td colspan=\"").append(monthNumberOfDays) .append("\" class=\"acenter tcalendarlinks\"><span class=\"smalltxt\"><a href=\"") .append(beforeUrl).append("\">").append("<< ") .append(getMessage("label.previous.month")).append("</a>"); builder.append(" , ").append("<a href=\"").append(nextUrl).append("\">") .append(getMessage("label.next.month")).append(" >>").append("</a>") .append("</span></td><td class=\"tcalendarlinks\"></td><td class=\"tcalendarlinks\"></td></tr>"); } break; default: break; } } }
From source file:net.sourceforge.fenixedu.util.renderer.GanttDiagram.java
License:Open Source License
private void calculateFirstAndLastInstantInMonthlyMode(YearMonthDay begin) { if (begin == null) { throw new IllegalArgumentException(); }/*from w w w . j a v a 2s . c o m*/ DateTime beginDateTime = begin.toDateTimeAtMidnight(); beginDateTime = (beginDateTime.getDayOfMonth() != 1) ? beginDateTime.withDayOfMonth(1) : beginDateTime; setFirstInstant(beginDateTime); setLastInstant(beginDateTime.plusMonths(1).minusDays(1)); }
From source file:net.sourceforge.fenixedu.util.renderer.GanttDiagram.java
License:Open Source License
private void generateYearsViewAndMonths() { DateTime firstMonthDateTime = getFirstInstant(); DateTime lastMontDateTime = getLastInstant(); if (firstMonthDateTime != null && lastMontDateTime != null) { while ((firstMonthDateTime.getYear() < lastMontDateTime.getYear()) || (firstMonthDateTime.getYear() == lastMontDateTime.getYear() && firstMonthDateTime.getMonthOfYear() <= lastMontDateTime.getMonthOfYear())) { getMonths().add(firstMonthDateTime); if (getYearsView().containsKey(Integer.valueOf(firstMonthDateTime.getYear()))) { getYearsView().put(Integer.valueOf(firstMonthDateTime.getYear()), getYearsView().get(Integer.valueOf(firstMonthDateTime.getYear())) + 1); } else { getYearsView().put(Integer.valueOf(firstMonthDateTime.getYear()), 1); }// w w w .jav a 2 s . c o m firstMonthDateTime = firstMonthDateTime.plusMonths(1); } } }
From source file:net.sourceforge.fenixedu.util.renderer.GanttDiagram.java
License:Open Source License
public int getMonthsDaysSize() { int result = 0; for (DateTime month : 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; result += monthNumberOfDays;/* ww w . jav a 2 s . com*/ } return result; }
From source file:net.tourbook.ui.views.calendar.CalendarYearMonthContributionItem.java
License:Open Source License
private void fillMonthComboBox() { DateTime dt = new DateTime(); final int thisMonth = dt.getMonthOfYear(); dt = dt.withMonthOfYear(DateTimeConstants.JANUARY); _cboMonthValues = new ArrayList<Integer>(); _cboMonthKeys = new HashMap<Integer, Integer>(); for (int i = 0; i < 12; i++) { // _cboMonth.add(dt.toString("MMMM")); _cboMonth.add(dt.toString("MMM")); // make the toolbar fit more likely into one line //$NON-NLS-1$ _cboMonthValues.add(dt.getMonthOfYear()); _cboMonthKeys.put(dt.getMonthOfYear(), i); dt = dt.plusMonths(1); }/*ww w .ja v a2 s .c o m*/ _cboMonth.select(thisMonth - 1); }