List of usage examples for org.joda.time DateTime withDayOfMonth
public DateTime withDayOfMonth(int dayOfMonth)
From source file:cron.DateTimes.java
License:Open Source License
public static DateTime nthOfMonth(DateTime t, int dayOfWeek, int desiredNumber) { int month = t.getMonthOfYear(); t = t.withDayOfMonth(1).withDayOfWeek(dayOfWeek); if (t.getMonthOfYear() != month) t = t.plusWeeks(1);/*from w w w . j a v a2s .c o m*/ int number = 1; while (number < desiredNumber && t.getMonthOfYear() == month) { number++; t = t.plusWeeks(1); } return t; }
From source file:cron.DayOfWeekField.java
License:Open Source License
public boolean matches(DateTime time) { if (unspecified) return true; final int dayOfWeek = time.getDayOfWeek(); int number = number(dayOfWeek); if (hasLast) { return last.contains(number) && time.getMonthOfYear() != time.plusWeeks(1).getMonthOfYear(); } else if (hasNth) { for (int possibleMatch : nth.get(number)) { DateTime midnight = time.withTimeAtStartOfDay(); DateTime first = midnight.withDayOfMonth(1).withDayOfWeek(dayOfWeek); if (first.getMonthOfYear() != time.getMonthOfYear()) first = first.plusWeeks(1); DateTime tomorrow = midnight.plusDays(1); int weekNumber = 1 + (int) ((tomorrow.getMillis() - first.getMillis()) / MILLISECONDS_PER_WEEK); if (possibleMatch == weekNumber) return true; }//from w w w .j av a2 s .c o m } return contains(number); }
From source file:cron.Times.java
License:Open Source License
private void addDaysOfMonth(ImmutableSortedSet.Builder<DateTime> builder, DateTime base) { for (int day : daysOfMonth) if (day <= base.dayOfMonth().getMaximumValue()) builder.add(base.withDayOfMonth(day)); }
From source file:dk.dma.epd.common.prototype.model.voct.SARISXMLParser.java
License:Apache License
private SARWeatherData getSingleSARWeatherData(Node node) throws XPathExpressionException { Element el = (Element) node; NodeList children = el.getChildNodes(); Node timeEntry = children.item(1); Element timeElement = (Element) timeEntry; NodeList timeNodes = timeElement.getChildNodes(); DateTime windEntryDate = new DateTime(); // Day 0//from w w w . ja va 2 s .co m windEntryDate = windEntryDate .withDayOfMonth(Integer.parseInt(timeNodes.item(0).getFirstChild().getNodeValue())); // Month 2 windEntryDate = windEntryDate .withMonthOfYear(Integer.parseInt(timeNodes.item(2).getFirstChild().getNodeValue())); // Year 4 windEntryDate = windEntryDate.withYear(Integer.parseInt(timeNodes.item(4).getFirstChild().getNodeValue())); // hour 6 windEntryDate = windEntryDate .withHourOfDay(Integer.parseInt(timeNodes.item(6).getFirstChild().getNodeValue())); // minute 8 windEntryDate = windEntryDate .withMinuteOfHour(Integer.parseInt(timeNodes.item(8).getFirstChild().getNodeValue())); // second 10 windEntryDate = windEntryDate .withSecondOfMinute(Integer.parseInt(timeNodes.item(10).getFirstChild().getNodeValue())); Node windEntry = children.item(3); Element windElements = (Element) windEntry; NodeList windNodes = windElements.getChildNodes(); System.out.println(windElements.getFirstChild().getNodeValue()); for (int k = 0; k < windNodes.getLength(); k++) { System.out.println("k is " + k); Node child2 = windNodes.item(k); System.out.println("Child2 name is " + child2.getNodeName()); if (child2.getNodeType() != Node.TEXT_NODE) { System.out.println("child tag: " + child2.getNodeName()); if (child2.getFirstChild().getNodeType() == Node.TEXT_NODE) { System.out.println("inner child value:" + child2.getFirstChild().getNodeValue()); } } } // System.out.println(node.getChildNodes()); // Get time // System.out.println(getDateFromNodeList(node.getChildNodes().item(1).getChildNodes())); // System.out.println(node.getChildNodes().item(1).getChildNodes().item(0).getChildNodes().item(0).getNodeValue()); // Wind values // System.out.println(node.getChildNodes().item(3)); // for (int i = 0; i < node.getChildNodes().getLength(); i++) { // System.out.println(node.getChildNodes().item(i).getChildNodes().item(1)); // } return null; }
From source file:dk.dma.epd.common.prototype.model.voct.SARISXMLParser.java
License:Apache License
private DateTime getDateFromNodeList(NodeList nodeList) { DateTime returnDate = new DateTime(); if (nodeList.getLength() == 0) { return null; }//w w w. j a v a 2 s.co m if (nodeList.item(0).getNodeName().equals("day")) { // Day returnDate = returnDate .withDayOfMonth(Integer.parseInt(nodeList.item(0).getFirstChild().getNodeValue())); // System.out.println("DAY"); } if (nodeList.item(1).getNodeName().equals("month")) { // Month returnDate = returnDate .withMonthOfYear(Integer.parseInt(nodeList.item(1).getFirstChild().getNodeValue())); // System.out.println("MONTH"); } if (nodeList.item(2).getNodeName().equals("year")) { // Year returnDate = returnDate.withYear(Integer.parseInt(nodeList.item(2).getFirstChild().getNodeValue())); // System.out.println("YEAR"); } if (nodeList.item(3).getNodeName().equals("hour")) { // Hour returnDate = returnDate .withHourOfDay(Integer.parseInt(nodeList.item(3).getFirstChild().getNodeValue())); // System.out.println("HOUR"); } if (nodeList.item(4).getNodeName().equals("minute")) { // Minute returnDate = returnDate .withMinuteOfHour(Integer.parseInt(nodeList.item(4).getFirstChild().getNodeValue())); // System.out.println("MINUTE"); } if (nodeList.item(5).getNodeName().equals("second")) { // Second returnDate = returnDate .withSecondOfMinute(Integer.parseInt(nodeList.item(5).getFirstChild().getNodeValue())); // System.out.println("SECOND"); } return returnDate; }
From source file:edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo.java
License:Open Source License
private Map<String, String> checkDate(String precisionURI, Map<String, String[]> qp) { if (precisionURI == null) return Collections.emptyMap(); Map<String, String> errors = new HashMap<String, String>(); Integer year, month, day, hour, minute, second; //just check if the values for the precision parse to integers if (precisionURI.equals(VitroVocabulary.Precision.YEAR.uri())) { if (!canParseToNumber(getFieldName() + "-year", qp)) errors.put(getFieldName() + "-year", NON_INTEGER_YEAR); } else if (precisionURI.equals(VitroVocabulary.Precision.MONTH.uri())) { if (!canParseToNumber(getFieldName() + "-year", qp)) errors.put(getFieldName() + "-year", NON_INTEGER_YEAR); if (!canParseToNumber(getFieldName() + "-month", qp)) errors.put(getFieldName() + "-month", NON_INTEGER_MONTH); } else if (precisionURI.equals(VitroVocabulary.Precision.DAY.uri())) { if (!canParseToNumber(getFieldName() + "-year", qp)) errors.put(getFieldName() + "-year", NON_INTEGER_YEAR); if (!canParseToNumber(getFieldName() + "-month", qp)) errors.put(getFieldName() + "-month", NON_INTEGER_MONTH); if (!canParseToNumber(getFieldName() + "-day", qp)) errors.put(getFieldName() + "-day", NON_INTEGER_DAY); } else if (precisionURI.equals(VitroVocabulary.Precision.HOUR.uri())) { if (!canParseToNumber(getFieldName() + "-year", qp)) errors.put(getFieldName() + "-year", NON_INTEGER_YEAR); if (!canParseToNumber(getFieldName() + "-month", qp)) errors.put(getFieldName() + "-month", NON_INTEGER_MONTH); if (!canParseToNumber(getFieldName() + "-day", qp)) errors.put(getFieldName() + "-day", NON_INTEGER_DAY); if (!canParseToNumber(getFieldName() + "-hour", qp)) errors.put(getFieldName() + "-hour", NON_INTEGER_HOUR); } else if (precisionURI.equals(VitroVocabulary.Precision.MINUTE.uri())) { if (!canParseToNumber(getFieldName() + "-year", qp)) errors.put(getFieldName() + "-year", NON_INTEGER_YEAR); if (!canParseToNumber(getFieldName() + "-month", qp)) errors.put(getFieldName() + "-month", NON_INTEGER_MONTH); if (!canParseToNumber(getFieldName() + "-day", qp)) errors.put(getFieldName() + "-day", NON_INTEGER_DAY); if (!canParseToNumber(getFieldName() + "-hour", qp)) errors.put(getFieldName() + "-hour", NON_INTEGER_HOUR); if (!canParseToNumber(getFieldName() + "-minute", qp)) errors.put(getFieldName() + "-minute", NON_INTEGER_HOUR); } else if (precisionURI.equals(VitroVocabulary.Precision.SECOND.uri())) { if (!canParseToNumber(getFieldName() + "-year", qp)) errors.put(getFieldName() + "-year", NON_INTEGER_YEAR); if (!canParseToNumber(getFieldName() + "-month", qp)) errors.put(getFieldName() + "-month", NON_INTEGER_MONTH); if (!canParseToNumber(getFieldName() + "-day", qp)) errors.put(getFieldName() + "-day", NON_INTEGER_DAY); if (!canParseToNumber(getFieldName() + "-hour", qp)) errors.put(getFieldName() + "-hour", NON_INTEGER_HOUR); if (!canParseToNumber(getFieldName() + "-minute", qp)) errors.put(getFieldName() + "-minute", NON_INTEGER_HOUR); if (!canParseToNumber(getFieldName() + "-second", qp)) errors.put(getFieldName() + "-second", NON_INTEGER_SECOND); }//w w w .java 2s.c om //check if we can make a valid date with these integers year = parseToInt(getFieldName() + "-year", qp); if (year == null) year = 1999; month = parseToInt(getFieldName() + "-month", qp); if (month == null) month = 1; day = parseToInt(getFieldName() + "-day", qp); if (day == null) day = 1; hour = parseToInt(getFieldName() + "-hour", qp); if (hour == null) hour = 0; minute = parseToInt(getFieldName() + "-minute", qp); if (minute == null) minute = 0; second = parseToInt(getFieldName() + "-second", qp); if (second == null) second = 0; //initialize to something so that we can be assured not to get //system date dependent behavior DateTime dateTime = new DateTime("1970-01-01T00:00:00Z"); try { dateTime = dateTime.withYear(year); } catch (IllegalArgumentException iae) { errors.put(getFieldName() + "-year", iae.getLocalizedMessage()); } try { dateTime = dateTime.withMonthOfYear(month); } catch (IllegalArgumentException iae) { errors.put(getFieldName() + "-month", iae.getLocalizedMessage()); } try { dateTime = dateTime.withDayOfMonth(day); } catch (IllegalArgumentException iae) { errors.put(getFieldName() + "-day", iae.getLocalizedMessage()); } try { dateTime = dateTime.withHourOfDay(hour); } catch (IllegalArgumentException iae) { errors.put(getFieldName() + "-hour", iae.getLocalizedMessage()); } try { dateTime = dateTime.withSecondOfMinute(second); } catch (IllegalArgumentException iae) { errors.put(getFieldName() + "-second", iae.getLocalizedMessage()); } return errors; }
From source file:io.apiman.manager.api.core.metrics.AbstractMetricsAccessor.java
License:Apache License
/** * Based on the given interval, create a "floor" value relative to the * given date. This basically means zero'ing out certain fields (different * fields based on the interval type) and returning the modified date. * @param date//from w w w . ja v a2 s. com * @param interval */ protected static DateTime floor(DateTime date, HistogramIntervalType interval) { DateTime rval = date.withMillisOfSecond(0); switch (interval) { case day: rval = rval.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0); break; case hour: rval = rval.withMinuteOfHour(0).withSecondOfMinute(0); break; case minute: rval = rval.withSecondOfMinute(0); break; case month: rval = rval.withDayOfMonth(1).withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0); break; case week: rval = rval.withDayOfWeek(DateTimeConstants.MONDAY).withHourOfDay(0).withMinuteOfHour(0) .withSecondOfMinute(0); break; } return rval; }
From source file:net.rrm.ehour.util.DateUtil.java
License:Open Source License
/** * Converts a calendar to a range covering that month * * @return first Calendar object is start of the month, last Calendar object is end of the month *//*from w ww .j a va 2 s. c o m*/ public static DateRange calendarToMonthRange(Calendar calendar) { DateTime date = new DateTime(calendar); return new DateRange(new Interval(date.withDayOfMonth(1), date.withDayOfMonth(getDaysInMonth(date)))); }
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 w w w .j a v a 2s . 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(/*from ww w . j a va 2s.c om*/ "<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; } } }