Example usage for org.joda.time MutableDateTime addHours

List of usage examples for org.joda.time MutableDateTime addHours

Introduction

In this page you can find the example usage for org.joda.time MutableDateTime addHours.

Prototype

public void addHours(final int hours) 

Source Link

Document

Add a number of hours to the date.

Usage

From source file:com.tmathmeyer.sentinel.ui.tabs.AddCommitmentDisplay.java

License:Open Source License

/**
 * Sets the default date and time text fields to the current date and time
 * //from   ww  w .j  ava 2 s. c om
 * Should be only called if creating a new commitment, not when editing
 * since edit event already has a date and time to fill the text fields with
 */
public void setCurrentDateAndTime() {
    this.startTimeDatePicker.setDate(selectedTime);
    MutableDateTime mdt = DateTime.now().toMutableDateTime();
    int quarterHours = mdt.getMinuteOfHour() / 15;
    int minutes = quarterHours < 4 ? (quarterHours + 1) * 15 : (quarterHours) * 15;
    if (minutes == 60) {
        mdt.addHours(1);
        mdt.setMinuteOfHour(0);
    } else
        mdt.setMinuteOfHour(minutes);
    this.startTimeDatePicker.setTime(mdt.toDateTime());
}

From source file:com.tmathmeyer.sentinel.ui.tabs.AddEventDisplay.java

License:Open Source License

/**
 * Sets the default date and time text fields to the current date and time
 * //  ww  w  . ja  va 2  s  .c  om
 * Should be only called if creating a new event, not when editing since
 * edit event already has a date and time to fill the text fields with
 */
public void setCurrentDateAndTime() {
    this.startTimeDatePicker.setDate(selectedTime);
    this.endTimeDatePicker.setDate(selectedTime);

    MutableDateTime mdt = DateTime.now().toMutableDateTime();
    int quarterHours = mdt.getMinuteOfHour() / 15;
    int minutes = quarterHours < 4 ? (quarterHours + 1) * 15 : (quarterHours) * 15;
    if (minutes == 60) {
        mdt.addHours(1);
        mdt.setMinuteOfHour(0);
    } else
        mdt.setMinuteOfHour(minutes);

    this.startTimeDatePicker.setTime(mdt.toDateTime());
    mdt.addHours(1);
    this.endTimeDatePicker.setTime(mdt.toDateTime());
}

From source file:com.tmathmeyer.sentinel.ui.views.day.collisiondetection.DayPanel.java

License:Open Source License

private DateTime getTimeAtCursor() {
    Point m = MouseInfo.getPointerInfo().getLocation();
    Point p = getLocationOnScreen();
    MutableDateTime d = date.toMutableDateTime();
    m.y -= offset;/*w w w .j  a  va 2s  .co m*/
    if (m.y < p.y)
        m.y = p.y;
    if (m.y > 1440)
        m.y = 1440;

    d.setHourOfDay((m.y - p.y) / 60);
    int min = (m.y - p.y) % 60;

    if (min >= 7 && min < 23)
        min = 15;
    if (min < 7)
        min = 0;
    if (min >= 23 && min < 38)
        min = 30;
    if (min >= 38 && min < 55)
        min = 45;
    if (min >= 55) {
        min = 0;
        d.addHours(1);
    }
    d.setMinuteOfHour(min);
    return d.toDateTime();
}

From source file:com.xpn.xwiki.criteria.impl.PeriodFactory.java

License:Open Source License

private static MutableDateTime toHourEnd(MutableDateTime mdt) {
    mdt.addHours(1);
    return toHourStart(mdt);
}

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);/*w ww  . ja  v a2  s  .co m*/
        break;
    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  ww  .  ja  v  a 2s.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: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;/*  w w w .  j  av  a2s. c  o m*/
    }
    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  2s .  co  m*/
        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();
}