Example usage for org.joda.time DateTime plusMinutes

List of usage examples for org.joda.time DateTime plusMinutes

Introduction

In this page you can find the example usage for org.joda.time DateTime plusMinutes.

Prototype

public DateTime plusMinutes(int minutes) 

Source Link

Document

Returns a copy of this datetime plus the specified number of minutes.

Usage

From source file:hoot.services.models.osm.Changeset.java

License:Open Source License

/**
 * Inserts a new empty changeset into the services database
 *
 * @param mapId corresponding map ID for the node
 * @param userId corresponding user ID for the node
 * @param conn JDBC Connection//from  ww w  . j  a  v  a2s . c  o  m
 * @return ID of the inserted changeset
 * @throws Exception
 */
public static long insertNew(final long mapId, final long userId, Connection dbConn) throws Exception {
    log.debug("Inserting new changeset...");

    final DateTime now = new DateTime();

    Timestamp closedAt = null;
    final int changesetIdleTimeout = Integer.parseInt(HootProperties.getInstance().getProperty(
            "changesetIdleTimeoutMinutes", HootProperties.getDefault("changesetIdleTimeoutMinutes")));
    //The testChangesetAutoClose option = true causes changesetIdleTimeoutMinutes to be interpreted
    //in seconds rather than minutes and enables faster running of auto-close related unit tests.
    if (Boolean.parseBoolean(HootProperties.getInstance().getProperty("testChangesetAutoClose",
            HootProperties.getDefault("testChangesetAutoClose")))) {
        closedAt = new Timestamp(now.plusSeconds(changesetIdleTimeout).getMillis());
    } else {
        closedAt = new Timestamp(now.plusMinutes(changesetIdleTimeout).getMillis());
    }

    return new SQLInsertClause(dbConn, DbUtils.getConfiguration("" + mapId), changesets)
            .columns(changesets.closedAt, changesets.createdAt, changesets.maxLat, changesets.maxLon,
                    changesets.minLat, changesets.minLon, changesets.userId)
            .values(closedAt, new Timestamp(now.getMillis()),
                    DbUtils.toDbCoordValue(GeoUtils.DEFAULT_COORD_VALUE),
                    DbUtils.toDbCoordValue(GeoUtils.DEFAULT_COORD_VALUE),
                    DbUtils.toDbCoordValue(GeoUtils.DEFAULT_COORD_VALUE),
                    DbUtils.toDbCoordValue(GeoUtils.DEFAULT_COORD_VALUE), userId)
            .executeWithKey(changesets.id);
}

From source file:Implement.DAO.BookingDAOImpl.java

@Override
public void insertOfflineEngineBooking(String bookingDate, String tripDate, String tripTime, int noPackage,
        int packageID, String resourceNote, String customerName, String customerPhone, String customerEmail,
        String durationType, int duration, int smallestInterval, int providerID) {

    //  construct dynamic sql for used resources
    DateTimeFormatter formatterDateAndHour = DateTimeFormat.forPattern("MM/dd/yyyy HH:mm:ss");
    String travelTimeStr = tripDate;
    if (!durationType.equals("days")) {
        travelTimeStr += " " + tripTime + ":00";
    } else {//from   ww w . j  av  a2 s  .  c  o  m
        travelTimeStr += " 00:00:00";
    }
    DateTime travelTime = formatterDateAndHour.parseDateTime(travelTimeStr);
    DateTime endTime = new DateTime(travelTime);

    if (!durationType.equals("days")) {
        // change hours to minutes
        if (durationType.equals("hours")) {
            duration *= 60;
        }
        travelTime = travelTime.minusMinutes(duration);
        endTime = endTime.plusMinutes(duration);
    } else {
        travelTime = travelTime.minusDays(duration - 1);
        endTime = endTime.plusDays(duration + 1);
    }

    // loop each 5 minutes
    DateTimeFormatter fmtDate = DateTimeFormat.forPattern("MM/dd/YYYY");
    DateTimeFormatter fmtTime = DateTimeFormat.forPattern("HH:mm");
    String valueStr = "VALUES ";
    DateTime eachTime = new DateTime(travelTime);
    String date = fmtDate.print(eachTime);
    String time = fmtTime.print(eachTime);
    valueStr += " (@ResourceIDVar,'" + date + "','" + time + "',@NoUsedResourcesVar, @providerIDVar)";
    eachTime = eachTime.plusMinutes(smallestInterval);
    while (eachTime.isBefore(endTime)) {
        date = fmtDate.print(eachTime);
        time = fmtTime.print(eachTime);
        valueStr += ",(@ResourceIDVar,'" + date + "','" + time + "',@NoUsedResourcesVar, @providerIDVar)";
        eachTime = eachTime.plusMinutes(smallestInterval);
    }

    String insertStmt = "INSERT INTO UsedResources(ResourceID, TripDate, TripTime, NoUsedResources, ProviderID) ";
    insertStmt += valueStr;

    // Build Param Condition For Procedure
    String paramCondition = "@ResourceIDVar INT, @NoUsedResourcesVar INT, @providerIDVar INT";

    simpleJdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("InsertOfflineBooking");
    SqlParameterSource in = new MapSqlParameterSource().addValue("bookingDate", bookingDate)
            .addValue("providerID", providerID).addValue("tripDate", tripDate).addValue("tripTime", tripTime)
            .addValue("noPackage", noPackage).addValue("packageID", packageID)
            .addValue("resourceNote", resourceNote).addValue("customerName", customerName)
            .addValue("customerPhone", customerPhone).addValue("customerEmail", customerEmail)
            .addValue("InsertStatement", insertStmt).addValue("ParmDefinition", paramCondition);
    simpleJdbcCall.execute(in);
}

From source file:Implement.DAO.BookingDAOImpl.java

@Override
public void insertOfflineBooking(int providerID, int days, int hours, int minutes, long bookingTime,
        long tripTime, String dateStr, String timeStr, String customerName, String customerPhone, String email,
        List<OfflineResourceDTO> offlineResources, int smallestInterval, long resourceTime) {
    DateTimeFormatter fmtDate = DateTimeFormat.forPattern("MM/dd/YYYY");
    DateTimeFormatter fmtTime = DateTimeFormat.forPattern("HH:mm");

    //  construct dynamic sql for used resources
    DateTimeFormatter formatterDateAndHour = DateTimeFormat.forPattern("MM/dd/yyyy HH:mm:ss");
    String travelTimeStr = dateStr;
    if (days == 0) {
        travelTimeStr += " " + timeStr + ":00";
    } else {//from   w  w w.j  ava 2s  . c o m
        travelTimeStr += " 00:00:00";
    }

    // insert offline resources first
    int i = 0;
    OfflineResourceDTO offlineResource = offlineResources.get(i);
    int providerResurceID = offlineResource.getProviderResourceID();
    int resourceHours = offlineResource.getHours();
    int resourceMinutes = offlineResource.getMinutes();
    int resourceDays = offlineResource.getDays();
    int noUnits = offlineResource.getNoUnits();
    String offlineResourceValue = "VALUES ";
    offlineResourceValue += "(@offlineBookingIDVar, " + providerResurceID + "," + noUnits + "," + resourceHours
            + "," + resourceMinutes + "," + resourceDays + ")";

    String usedResourceValue = "VALUES ";
    DateTime travelTime = formatterDateAndHour.parseDateTime(travelTimeStr);
    DateTime endTime = new DateTime(travelTime);
    if (resourceDays > 0) {
        endTime = endTime.plusDays(resourceDays);
    } else {
        // change hours to minutes
        int duration = resourceHours * 60 + resourceMinutes;
        endTime = endTime.plusMinutes(duration);
    }

    // loop each 5 minutes
    DateTime eachTime = new DateTime(travelTime);
    String date = fmtDate.print(eachTime);
    String time = fmtTime.print(eachTime);
    int usedResouceMinutes = eachTime.getMinuteOfDay();

    DateTime usedResourceOnlyDate = formatterDateAndHour.parseDateTime(date + " 00:00:00");
    long usedResourceMil = usedResourceOnlyDate.getMillis();
    usedResourceValue += " (" + providerResurceID + "," + usedResourceMil + "," + usedResouceMinutes + ","
            + noUnits + ",'" + date + "','" + time + "',@bookingCodeVar,@offlineBookingIDVar)";

    eachTime = eachTime.plusMinutes(smallestInterval);
    while (eachTime.isBefore(endTime)) {
        date = fmtDate.print(eachTime);
        time = fmtTime.print(eachTime);

        usedResourceOnlyDate = formatterDateAndHour.parseDateTime(date + " 00:00:00");
        usedResourceMil = usedResourceOnlyDate.getMillis();
        usedResouceMinutes = eachTime.getMinuteOfDay();
        usedResourceValue += ",(" + providerResurceID + "," + usedResourceMil + "," + usedResouceMinutes + ","
                + noUnits + ",'" + date + "','" + time + "',@bookingCodeVar,@offlineBookingIDVar)";
        eachTime = eachTime.plusMinutes(smallestInterval);
    }

    i++;
    int resourceLength = offlineResources.size();
    for (; i < resourceLength; i++) {
        offlineResource = offlineResources.get(i);
        providerResurceID = offlineResource.getProviderResourceID();
        resourceHours = offlineResource.getHours();
        resourceMinutes = offlineResource.getMinutes();
        resourceDays = offlineResource.getDays();
        noUnits = offlineResource.getNoUnits();
        offlineResourceValue += ",(@offlineBookingIDVar, " + providerResurceID + "," + noUnits + ","
                + resourceHours + "," + resourceMinutes + "," + resourceDays + ")";

        travelTime = formatterDateAndHour.parseDateTime(travelTimeStr);
        endTime = new DateTime(travelTime);
        if (resourceDays > 0) {
            endTime = endTime.plusDays(resourceDays);
        } else {

            // change hours to minutes
            int duration = resourceHours * 60 + resourceMinutes;
            endTime = endTime.plusMinutes(duration);
        }

        // loop each 5 minutes
        eachTime = new DateTime(travelTime);
        date = fmtDate.print(eachTime);
        time = fmtTime.print(eachTime);

        usedResouceMinutes = eachTime.getMinuteOfDay();

        usedResourceOnlyDate = formatterDateAndHour.parseDateTime(date + " 00:00:00");
        usedResourceMil = usedResourceOnlyDate.getMillis();
        usedResourceValue += ",(" + providerResurceID + "," + usedResourceMil + "," + usedResouceMinutes + ","
                + noUnits + ",'" + date + "','" + time + "',@bookingCodeVar,@offlineBookingIDVar)";

        eachTime = eachTime.plusMinutes(smallestInterval);
        while (eachTime.isBefore(endTime)) {
            date = fmtDate.print(eachTime);
            time = fmtTime.print(eachTime);

            usedResourceOnlyDate = formatterDateAndHour.parseDateTime(date + " 00:00:00");
            usedResourceMil = usedResourceOnlyDate.getMillis();
            usedResouceMinutes = eachTime.getMinuteOfDay();
            usedResourceValue += ",(" + providerResurceID + "," + usedResourceMil + "," + usedResouceMinutes
                    + "," + noUnits + ",'" + date + "','" + time + "',@bookingCodeVar,@offlineBookingIDVar)";
            eachTime = eachTime.plusMinutes(smallestInterval);
        }
    }

    String resourceInsertingStmt = "INSERT INTO OfflineResource(OfflineBookingID, ProviderResourceID, NoUnits,"
            + "Hours, Minutes,Days) ";
    resourceInsertingStmt += offlineResourceValue;
    String resourceInsertingParmDefinition = "@offlineBookingIDVar INT";

    String usedResourceInsertingStmt = "INSERT INTO UsedProviderResource(ProviderResourceID, Date, Time, NoUsedResources,"
            + "DateStr,TimeStr,BookingCode,OfflineBookingID)";
    usedResourceInsertingStmt += usedResourceValue;
    String usedResourceInsertingParmDefinition = "@bookingCodeVar NVARCHAR(10)," + "@offlineBookingIDVar INT";

    simpleJdbcCall = new SimpleJdbcCall(dataSource).withProcedureName("InsertNewOfflineBooking");
    SqlParameterSource in = new MapSqlParameterSource().addValue("days", days).addValue("minutes", minutes)
            .addValue("hours", hours).addValue("bookingTime", bookingTime).addValue("tripTime", tripTime)
            .addValue("dateStr", dateStr).addValue("timeStr", timeStr).addValue("customerName", customerName)
            .addValue("customerPhone", customerPhone).addValue("customerPhone", customerPhone)
            .addValue("email", email).addValue("providerID", providerID)
            .addValue("ResourceInsertingStmt", resourceInsertingStmt)
            .addValue("ResourceInsertingParmDefinition", resourceInsertingParmDefinition)
            .addValue("UsedResourceInsertingStmt", usedResourceInsertingStmt)
            .addValue("UsedResourceInsertingParmDefinition", usedResourceInsertingParmDefinition);
    simpleJdbcCall.execute(in);
}

From source file:io.renren.common.utils.DateUtils.java

License:Apache License

/**
 * ?/?/*w  w  w.j a  va2s  . co  m*/
 *
 * @param date 
 * @param minutes ?
 * @return /??
 */
public static Date addDateMinutes(Date date, int minutes) {
    DateTime dateTime = new DateTime(date);
    return dateTime.plusMinutes(minutes).toDate();
}

From source file:io.spikex.core.helper.Variables.java

License:Apache License

public static DateTime createDateTimeNow(final String var) {

    DateTime dt;

    // #now/* w  ww .  ja  va2  s . c  o m*/
    // #now(UTC)
    // #now(UTC,0h,-10m,0s)
    // #now(0h,-10m,0s)
    // #now(30m)
    Matcher m = REGEXP_NOW.matcher(var);
    //
    // Timezone
    //
    String tz = null;
    boolean found = m.find();
    if (found) {
        tz = m.group(1);
    }
    //
    // Hours
    //
    int hours = 0;
    if (found) {
        String val = m.group(2);
        if (val != null) {
            hours = Integer.parseInt(val.substring(0, val.length() - 1));
        }
    }
    //
    // Minutes
    //
    int mins = 0;
    if (found) {
        String val = m.group(3);
        if (val != null) {
            mins = Integer.parseInt(val.substring(0, val.length() - 1));
        }
    }
    //
    // Seconds
    //
    int secs = 0;
    if (found) {
        String val = m.group(4);
        if (val != null) {
            secs = Integer.parseInt(val.substring(0, val.length() - 1));
        }
    }

    System.out.println("var: " + var + " tz: " + tz + " hours: " + hours + " mins: " + mins + " secs: " + secs);

    if (tz != null) {
        dt = new DateTime(DateTimeZone.forID(tz));
    } else {
        dt = new DateTime();
    }

    dt = dt.plusHours(hours);
    dt = dt.plusMinutes(mins);
    dt = dt.plusSeconds(secs);

    return dt;
}

From source file:kr.debop4j.timeperiod.timerange.MinuteRange.java

License:Apache License

/**
 * Add minutes./*from  w w  w.j a v a2  s  .  c  o  m*/
 *
 * @param minutes the minutes
 * @return the minute range
 */
public MinuteRange addMinutes(int minutes) {
    DateTime start = getStart().withTimeAtStartOfDay().withTime(getStartHourOfDay(), getStartMinuteOfHour(), 0,
            0);
    return new MinuteRange(start.plusMinutes(minutes), getTimeCalendar());
}

From source file:kr.debop4j.timeperiod.timerange.MinuteRangeCollection.java

License:Apache License

/** ? ?   ?? {@link MinuteRange}? ? . */
public List<MinuteRange> createMinutes() {
    int minuteCount = getMinuteCount();
    final List<MinuteRange> minutes = Lists.newArrayListWithCapacity(minuteCount);
    final DateTime startMinute = Times.trimToSecond(getStart());

    for (int i = 0; i < minuteCount; i++) {
        minutes.add(new MinuteRange(startMinute.plusMinutes(i), getTimeCalendar()));
    }/*  w  ww  .j a  va2s .c  om*/
    return minutes;
}

From source file:kr.debop4j.timeperiod.tools.Times.java

License:Apache License

/**  ?  (minutes) ??  */
public static TimeRange getRelativeMinutePeriod(DateTime start, int minutes) {
    return getTimeRange(start, start.plusMinutes(minutes));
}

From source file:kr.debop4j.timeperiod.tools.Times.java

License:Apache License

/**  ? (Minute)  . */
public static List<ITimePeriod> foreachMinutes(ITimePeriod period) {
    shouldNotBeNull(period, "period");
    if (isTraceEnabled)
        log.trace("[{}]?  (Minute)  ...", period);

    List<ITimePeriod> minutes = Lists.newArrayList();
    if (period.isAnytime())
        return minutes;

    assertHasPeriod(period);//from  w  w  w  .  j a  v  a 2s  . c o m

    if (Times.isSameMinute(period.getStart(), period.getEnd())) {
        minutes.add(new TimeRange(period));
        return minutes;
    }

    minutes.add(new TimeRange(period.getStart(), Times.endTimeOfMinute(period.getStart())));

    DateTime endMinute = period.getEnd();
    DateTime current = Times.trimToMinute(period.getStart(), period.getStart().getMinuteOfHour() + 1);
    ITimeCalendar calendar = TimeCalendar.getDefault();

    DateTime maxMinute = endMinute.minusMinutes(1);
    while (current.compareTo(maxMinute) <= 0) {
        minutes.add(Times.getMinuteRange(current, calendar));
        current = current.plusMinutes(1);
    }

    if (endMinute.minusMinutes(endMinute.getMinuteOfHour()).getMillisOfDay() > 0) {
        minutes.add(new TimeRange(Times.startTimeOfMinute(endMinute), endMinute));
    }

    return minutes;
}

From source file:net.es.netshell.api.TopologyProvider.java

License:Open Source License

/**
 * Convenience method computing the path start now and ending one minute later, meaning, right now.
 * @param weight/*  w  w  w  .j  a  va 2s  .c o  m*/
 * @return
 * @throws IOException
 */
public DefaultListenableGraph<Node, Link> getGraph(WeightType weight) throws IOException {

    DateTime start = DateTime.now();
    DateTime end = start.plusMinutes(1);
    return this.getGraph(start, end, weight);
}