List of usage examples for org.joda.time MutableDateTime addMinutes
public void addMinutes(final int minutes)
From source file:com.tmathmeyer.sentinel.ui.views.day.collisiondetection.DayItem.java
License:Open Source License
public void addMinutesToEnd(int minutes) { MutableDateTime d = displayable.getEnd().toMutableDateTime(); d.addMinutes(minutes); DateTime newEnd = d.toDateTime();/*from w w w. j ava 2s . c om*/ try { Interval potential = new Interval(displayable.getStart(), newEnd); if (potential.toDurationMillis() < 1000) { throw new IllegalArgumentException("cant make the event that short!!"); } height = Math.max(45, height + minutes); displayable.setEnd(newEnd); height = Math.max(45, height + minutes); length = potential; reval(); } catch (IllegalArgumentException e) { // if the date time interval is malformed (the user dragged to a bad spot) } }
From source file:com.tmathmeyer.sentinel.ui.views.day.collisiondetection.DayItem.java
License:Open Source License
public void addMinutesToStart(int minutes) { MutableDateTime d = displayable.getStart().toMutableDateTime(); d.addMinutes(minutes); DateTime newStart = d.toDateTime();// w w w . j a v a 2 s . c om try { Interval potential = new Interval(newStart, displayable.getEnd()); if (potential.toDurationMillis() < 1000) { throw new IllegalArgumentException("cant make the event that short!!"); } height = Math.max(45, height + minutes); displayable.setStart(newStart); height += minutes; length = potential; reval(); } catch (IllegalArgumentException e) { // if the date time interval is malformed (the user dragged to a bad spot) } }
From source file:controllers.api.DashboardsApiController.java
License:Open Source License
private void nextStep(String interval, MutableDateTime currentTime) { switch (interval) { case "minute": currentTime.addMinutes(1); break;//w ww.j a va 2s. c om case "hour": currentTime.addHours(1); break; case "day": currentTime.addDays(1); break; case "week": currentTime.addWeeks(1); break; case "month": currentTime.addMonths(1); break; case "quarter": currentTime.addMonths(3); break; case "year": currentTime.addYears(1); break; default: throw new IllegalArgumentException("Invalid duration specified: " + interval); } }
From source file:ddf.metrics.reporting.internal.rrd4j.RrdMetricsRetriever.java
License:Open Source License
private void increment(MutableDateTime chunkStart, SUMMARY_INTERVALS summaryInterval) { switch (summaryInterval) { case minute:/*w w w .j ava2 s .c o m*/ chunkStart.addMinutes(1); break; case hour: chunkStart.addHours(1); break; case day: chunkStart.addDays(1); break; case week: chunkStart.addWeeks(1); break; case month: chunkStart.addMonths(1); break; } }
From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.views.day.collisiondetection.DayItem.java
License:Open Source License
public void addMinutesToEnd(int minutes) { MutableDateTime d = displayable.getEnd().toMutableDateTime(); d.addMinutes(minutes); if (displayable instanceof Event) ((Event) displayable).setEnd(d.toDateTime()); length = new Interval(displayable.getStart(), displayable.getEnd()); height = Math.max(45, height + minutes); firstDraw = true;//from w ww . j av a 2 s . c om isBeingDragged = true; putTimeOn(); revalidate(); repaint(); }
From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.views.day.collisiondetection.DayItem.java
License:Open Source License
public void addMinutesToStart(int minutes) { MutableDateTime d = displayable.getStart().toMutableDateTime(); d.addMinutes(minutes); displayable.setStart(d.toDateTime()); length = new Interval(displayable.getStart(), displayable.getEnd()); height += minutes;/*from ww w . j av a 2 s. c o m*/ firstDraw = true; isBeingDragged = true; putTimeOn(); getParent().revalidate(); getParent().repaint(); }
From source file:org.codelibs.elasticsearch.common.joda.DateMathParser.java
License:Apache License
private long parseMath(String mathString, long time, boolean roundUp, DateTimeZone timeZone) throws ElasticsearchParseException { if (timeZone == null) { timeZone = DateTimeZone.UTC;//from w w w . j a v a2 s . com } MutableDateTime dateTime = new MutableDateTime(time, timeZone); for (int i = 0; i < mathString.length();) { char c = mathString.charAt(i++); final boolean round; final int sign; if (c == '/') { round = true; sign = 1; } else { round = false; if (c == '+') { sign = 1; } else if (c == '-') { sign = -1; } else { throw new ElasticsearchParseException("operator not supported for date math [{}]", mathString); } } if (i >= mathString.length()) { throw new ElasticsearchParseException("truncated date math [{}]", mathString); } final int num; if (!Character.isDigit(mathString.charAt(i))) { num = 1; } else { int numFrom = i; while (i < mathString.length() && Character.isDigit(mathString.charAt(i))) { i++; } if (i >= mathString.length()) { throw new ElasticsearchParseException("truncated date math [{}]", mathString); } num = Integer.parseInt(mathString.substring(numFrom, i)); } if (round) { if (num != 1) { throw new ElasticsearchParseException("rounding `/` can only be used on single unit types [{}]", mathString); } } char unit = mathString.charAt(i++); MutableDateTime.Property propertyToRound = null; switch (unit) { case 'y': if (round) { propertyToRound = dateTime.yearOfCentury(); } else { dateTime.addYears(sign * num); } break; case 'M': if (round) { propertyToRound = dateTime.monthOfYear(); } else { dateTime.addMonths(sign * num); } break; case 'w': if (round) { propertyToRound = dateTime.weekOfWeekyear(); } else { dateTime.addWeeks(sign * num); } break; case 'd': if (round) { propertyToRound = dateTime.dayOfMonth(); } else { dateTime.addDays(sign * num); } break; case 'h': case 'H': if (round) { propertyToRound = dateTime.hourOfDay(); } else { dateTime.addHours(sign * num); } break; case 'm': if (round) { propertyToRound = dateTime.minuteOfHour(); } else { dateTime.addMinutes(sign * num); } break; case 's': if (round) { propertyToRound = dateTime.secondOfMinute(); } else { dateTime.addSeconds(sign * num); } break; default: throw new ElasticsearchParseException("unit [{}] not supported for date math [{}]", unit, mathString); } if (propertyToRound != null) { if (roundUp) { // we want to go up to the next whole value, even if we are already on a rounded value propertyToRound.add(1); propertyToRound.roundFloor(); dateTime.addMillis(-1); // subtract 1 millisecond to get the largest inclusive value } else { propertyToRound.roundFloor(); } } } return dateTime.getMillis(); }
From source file:org.elasticsearch.common.joda.DateMathParser.java
License:Apache License
private long parseMath(String mathString, long time, boolean roundUp) throws ElasticsearchParseException { MutableDateTime dateTime = new MutableDateTime(time, DateTimeZone.UTC); try {/*from www . j a v a 2 s .com*/ for (int i = 0; i < mathString.length();) { char c = mathString.charAt(i++); int type; if (c == '/') { type = 0; } else if (c == '+') { type = 1; } else if (c == '-') { type = 2; } else { throw new ElasticsearchParseException( "operator not supported for date math [" + mathString + "]"); } int num; if (!Character.isDigit(mathString.charAt(i))) { num = 1; } else { int numFrom = i; while (Character.isDigit(mathString.charAt(i))) { i++; } num = Integer.parseInt(mathString.substring(numFrom, i)); } if (type == 0) { // rounding is only allowed on whole numbers if (num != 1) { throw new ElasticsearchParseException( "rounding `/` can only be used on single unit types [" + mathString + "]"); } } char unit = mathString.charAt(i++); switch (unit) { case 'y': if (type == 0) { if (roundUp) { dateTime.yearOfCentury().roundCeiling(); } else { dateTime.yearOfCentury().roundFloor(); } } else if (type == 1) { dateTime.addYears(num); } else if (type == 2) { dateTime.addYears(-num); } break; case 'M': if (type == 0) { if (roundUp) { dateTime.monthOfYear().roundCeiling(); } else { dateTime.monthOfYear().roundFloor(); } } else if (type == 1) { dateTime.addMonths(num); } else if (type == 2) { dateTime.addMonths(-num); } break; case 'w': if (type == 0) { if (roundUp) { dateTime.weekOfWeekyear().roundCeiling(); } else { dateTime.weekOfWeekyear().roundFloor(); } } else if (type == 1) { dateTime.addWeeks(num); } else if (type == 2) { dateTime.addWeeks(-num); } break; case 'd': if (type == 0) { if (roundUp) { dateTime.dayOfMonth().roundCeiling(); } else { dateTime.dayOfMonth().roundFloor(); } } else if (type == 1) { dateTime.addDays(num); } else if (type == 2) { dateTime.addDays(-num); } break; case 'h': case 'H': if (type == 0) { if (roundUp) { dateTime.hourOfDay().roundCeiling(); } else { dateTime.hourOfDay().roundFloor(); } } else if (type == 1) { dateTime.addHours(num); } else if (type == 2) { dateTime.addHours(-num); } break; case 'm': if (type == 0) { if (roundUp) { dateTime.minuteOfHour().roundCeiling(); } else { dateTime.minuteOfHour().roundFloor(); } } else if (type == 1) { dateTime.addMinutes(num); } else if (type == 2) { dateTime.addMinutes(-num); } break; case 's': if (type == 0) { if (roundUp) { dateTime.secondOfMinute().roundCeiling(); } else { dateTime.secondOfMinute().roundFloor(); } } else if (type == 1) { dateTime.addSeconds(num); } else if (type == 2) { dateTime.addSeconds(-num); } break; default: throw new ElasticsearchParseException( "unit [" + unit + "] not supported for date math [" + mathString + "]"); } } } catch (Exception e) { if (e instanceof ElasticsearchParseException) { throw (ElasticsearchParseException) e; } throw new ElasticsearchParseException("failed to parse date math [" + mathString + "]"); } return dateTime.getMillis(); }
From source file:se.toxbee.sleepfighter.service.AlarmPlannerService.java
License:Open Source License
/** * Reschedule an {@link Alarm}, that has gone of, to some minutes from now, * defined by the alarm itself.// w w w .j a v a 2 s.c om * * @param alarmId * the alarm's id */ private void snooze(int alarmId) { Alarm alarm = SFApplication.get().getPersister().fetchAlarmById(alarmId); if (alarm == null) { throw new IllegalArgumentException("No alarm was found with given id"); } // Determine which time to schedule at by adding offset minutes from alarm to current time MutableDateTime dateTime = MutableDateTime.now(); int mins = alarm.getSnoozeConfig().getSnoozeTime(); dateTime.addMinutes(mins); long scheduleTime = dateTime.getMillis(); schedule(scheduleTime, alarm); showSnoozingNotification(alarm, dateTime.toString("HH:mm")); }