Example usage for org.joda.time DateTime secondOfMinute

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

Introduction

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

Prototype

public Property secondOfMinute() 

Source Link

Document

Get the second of minute field property which provides access to advanced functionality.

Usage

From source file:com.chiorichan.plugin.lua.api.OSAPI.java

License:Mozilla Public License

@Override
void initialize() {
    // Push a couple of functions that override original Lua API functions or
    // that add new functionality to it.
    lua.getGlobal("os");

    // Custom os.clock() implementation returning the time the computer has
    // been actively running, instead of the native library...
    lua.pushJavaFunction(new JavaFunction() {
        @Override//from www .  ja v  a2  s  .co  m
        public int invoke(LuaState lua) {
            lua.pushNumber(System.currentTimeMillis());
            return 1;
        }
    });
    lua.setField(-2, "clock");

    lua.pushJavaFunction(new JavaFunction() {
        @Override
        public int invoke(LuaState lua) {
            String format = lua.getTop() > 0 && lua.isString(1) ? lua.toString(1) : "%d/%m/%y %H:%M:%S";
            long time = (long) (lua.getTop() > 1 && lua.isNumber(2) ? lua.toNumber(2) * 1000 / 60 / 60
                    : System.currentTimeMillis());
            DateTime dt = new DateTime(time);
            if (format == "*t") {
                lua.newTable(0, 8);
                lua.pushInteger(dt.year().get());
                lua.setField(-2, "year");
                lua.pushInteger(dt.monthOfYear().get());
                lua.setField(-2, "month");
                lua.pushInteger(dt.dayOfMonth().get());
                lua.setField(-2, "day");
                lua.pushInteger(dt.hourOfDay().get());
                lua.setField(-2, "hour");
                lua.pushInteger(dt.minuteOfHour().get());
                lua.setField(-2, "min");
                lua.pushInteger(dt.secondOfMinute().get());
                lua.setField(-2, "sec");
                lua.pushInteger(dt.dayOfWeek().get());
                lua.setField(-2, "wday");
                lua.pushInteger(dt.dayOfYear().get());
                lua.setField(-2, "yday");
            } else
                lua.pushString(dt.toString(DateTimeFormat.forPattern(format)));
            return 1;
        }
    });
    lua.setField(-2, "date");

    /*
     * // Date formatting function.
     * lua.pushScalaFunction(lua => {
     * val format =
     * if (lua.getTop > 0 && lua.isString(1)) lua.toString(1)
     * else "%d/%m/%y %H:%M:%S"
     * val time =
     * if (lua.getTop > 1 && lua.isNumber(2)) lua.toNumber(2) * 1000 / 60 / 60
     * else machine.worldTime + 5000
     * 
     * val dt = GameTimeFormatter.parse(time)
     * def fmt(format: String) {
     * if (format == "*t") {
     * lua.newTable(0, 8)
     * lua.pushInteger(dt.year)
     * lua.setField(-2, "year")
     * lua.pushInteger(dt.month)
     * lua.setField(-2, "month")
     * lua.pushInteger(dt.day)
     * lua.setField(-2, "day")
     * lua.pushInteger(dt.hour)
     * lua.setField(-2, "hour")
     * lua.pushInteger(dt.minute)
     * lua.setField(-2, "min")
     * lua.pushInteger(dt.second)
     * lua.setField(-2, "sec")
     * lua.pushInteger(dt.weekDay)
     * lua.setField(-2, "wday")
     * lua.pushInteger(dt.yearDay)
     * lua.setField(-2, "yday")
     * }
     * else {
     * lua.pushString(GameTimeFormatter.format(format, dt))
     * }
     * }
     * 
     * // Just ignore the allowed leading '!', Minecraft has no time zones...
     * if (format.startsWith("!"))
     * fmt(format.substring(1))
     * else
     * fmt(format)
     * 1
     * })
     * lua.setField(-2, "date")
     * 
     * // Return ingame time for os.time().
     * lua.pushScalaFunction(lua => {
     * if (lua.isNoneOrNil(1)) {
     * // Game time is in ticks, so that each day has 24000 ticks, meaning
     * // one hour is game time divided by one thousand. Also, Minecraft
     * // starts days at 6 o'clock, versus the 1 o'clock of timestamps so we
     * // add those five hours. Thus:
     * // timestamp = (time + 5000) * 60[kh] * 60[km] / 1000[s]
     * lua.pushNumber((machine.worldTime + 5000) * 60 * 60 / 1000)
     * }
     * else {
     * def getField(key: String, d: Int) = {
     * lua.getField(-1, key)
     * val res = lua.toIntegerX(-1)
     * lua.pop(1)
     * if (res == null)
     * if (d < 0) throw new Exception("field '" + key + "' missing in date table")
     * else d
     * else res: Int
     * }
     * 
     * lua.checkType(1, LuaType.TABLE)
     * lua.setTop(1)
     * 
     * val sec = getField("sec", 0)
     * val min = getField("min", 0)
     * val hour = getField("hour", 12)
     * val mday = getField("day", -1)
     * val mon = getField("month", -1)
     * val year = getField("year", -1)
     * 
     * GameTimeFormatter.mktime(year, mon, mday, hour, min, sec) match {
     * case Some(time) => lua.pushNumber(time)
     * case _ => lua.pushNil()
     * }
     * }
     * 1
     * })
     * lua.setField(-2, "time")
     */
    // Pop the os table.
    lua.pop(1);
}

From source file:com.sap.dirigible.runtime.metrics.TimeUtils.java

License:Open Source License

private static DateTime dateTimeCeiling(DateTime dt, Period p) {
    if (p.getYears() != 0) {
        return dt.yearOfEra().roundCeilingCopy().minusYears(dt.getYearOfEra() % p.getYears());
    } else if (p.getMonths() != 0) {
        return dt.monthOfYear().roundCeilingCopy().minusMonths((dt.getMonthOfYear() - 1) % p.getMonths());
    } else if (p.getWeeks() != 0) {
        return dt.weekOfWeekyear().roundCeilingCopy().minusWeeks((dt.getWeekOfWeekyear() - 1) % p.getWeeks());
    } else if (p.getDays() != 0) {
        return dt.dayOfMonth().roundCeilingCopy().minusDays((dt.getDayOfMonth() - 1) % p.getDays());
    } else if (p.getHours() != 0) {
        return dt.hourOfDay().roundCeilingCopy().minusHours(dt.getHourOfDay() % p.getHours());
    } else if (p.getMinutes() != 0) {
        return dt.minuteOfHour().roundCeilingCopy().minusMinutes(dt.getMinuteOfHour() % p.getMinutes());
    } else if (p.getSeconds() != 0) {
        return dt.secondOfMinute().roundCeilingCopy().minusSeconds(dt.getSecondOfMinute() % p.getSeconds());
    }//from  www  . j a  v a2 s.co  m
    return dt.millisOfSecond().roundCeilingCopy().minusMillis(dt.getMillisOfSecond() % p.getMillis());
}

From source file:com.splicemachine.db.iapi.types.TruncateFunctionUtil.java

License:Apache License

private static DateTimeDataValue doTrunc(DataValueDescriptor dateVal, DataValueDescriptor truncValue,
        DateTimeDataValue truncd, boolean isTimestamp) throws StandardException {
    if (dateVal.isNull()) {
        return truncd;
    }/*from  www. j a  v a 2s .  com*/
    DateTime realDT = dateVal.getDateTime();
    DateTime newDT;
    // DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)
    switch (getTruncValue(truncValue)) {
    case YEAR:
    case YR:
        newDT = realDT.year().roundFloorCopy();
        break;

    case MONTH:
    case MON:
    case MO:
        newDT = realDT.monthOfYear().roundFloorCopy();
        break;

    case DAY:
        newDT = realDT.dayOfMonth().roundFloorCopy();
        break;

    case HOUR:
    case HR:
        if (!isTimestamp) {
            throw StandardException.newException(SQLState.LANG_TRUNCATE_WRONG_TRUNC_VALUE_FOR_DATE,
                    getTruncValue(truncValue).name());
        }
        newDT = realDT.hourOfDay().roundFloorCopy();
        break;

    case MINUTE:
    case MIN:
        if (!isTimestamp) {
            throw StandardException.newException(SQLState.LANG_TRUNCATE_WRONG_TRUNC_VALUE_FOR_DATE,
                    getTruncValue(truncValue).name());
        }
        newDT = realDT.minuteOfHour().roundFloorCopy();
        break;

    case SECOND:
    case SEC:
        if (!isTimestamp) {
            throw StandardException.newException(SQLState.LANG_TRUNCATE_WRONG_TRUNC_VALUE_FOR_DATE,
                    getTruncValue(truncValue).name());
        }
        newDT = realDT.secondOfMinute().roundFloorCopy();
        break;

    case MILLISECOND:
    case MILLI:
        if (!isTimestamp) {
            throw StandardException.newException(SQLState.LANG_TRUNCATE_WRONG_TRUNC_VALUE_FOR_DATE,
                    getTruncValue(truncValue).name());
        }
        newDT = realDT;
        break;

    default:
        throw StandardException.newException(SQLState.LANG_TRUNCATE_UNKNOWN_TRUNC_VALUE,
                (isTimestamp ? "TIMESTAMP" : "DATE"), getTruncValue(truncValue),
                stringifyValues(DateTruncValue.values()));
    }
    truncd.setValue(newDT);
    return truncd;
}

From source file:com.sqewd.os.maracache.api.utils.TimeUtils.java

License:Apache License

/**
 * Get the time bucket for the input date based on the Time Unit and Unit multiplier specified.
 *
 * @param dt         - Date time to bucket.
 * @param unit       - Time Unit/*from   ww  w. j  a v  a2 s  . c  o  m*/
 * @param multiplier - Unit multiplier.
 * @return
 */
public static DateTime bucket(DateTime dt, TimeUnit unit, int multiplier) {
    DateTime w = null;
    switch (unit) {
    case MILLISECONDS:
        int ms = (dt.getMillisOfSecond() / multiplier) * multiplier;
        w = dt.secondOfMinute().roundFloorCopy().plusMillis(ms);
        break;
    case SECONDS:
        int s = (dt.getSecondOfMinute() / multiplier) * multiplier;
        w = dt.minuteOfHour().roundFloorCopy().plusSeconds(s);
        break;
    case MINUTES:
        int m = (dt.getMinuteOfHour() / multiplier) * multiplier;
        w = dt.hourOfDay().roundFloorCopy().plusMinutes(m);
        break;
    case HOURS:
        int h = (dt.getHourOfDay() / multiplier) * multiplier;
        w = dt.dayOfYear().roundFloorCopy().plusHours(h);
        break;
    case DAYS:
        int d = (dt.getDayOfYear() / multiplier) * multiplier;
        // Need to subtract (1) as the start offset i
        if (dt.getDayOfYear() % multiplier == 0) {
            d -= 1;
        }
        w = dt.yearOfCentury().roundFloorCopy().plusDays(d);
        break;
    }
    return w;
}

From source file:com.squarespace.template.plugins.PluginDateUtils.java

License:Apache License

/**
 * Takes a strftime()-compatible format string and outputs the properly formatted date.
 *//*from www.  j  ava2s . c o  m*/
public static void formatDate(Locale locale, String fmt, long instant, String tzName, StringBuilder buf) {
    DateTimeZone zone = null;
    try {
        zone = DateTimeZone.forID(tzName);
    } catch (IllegalArgumentException e) {
        zone = DateTimeZone.getDefault();
    }
    DateTime date = new DateTime(instant, zone);
    int index = 0;
    int len = fmt.length();
    while (index < len) {
        char c1 = fmt.charAt(index);
        index++;
        if (c1 != '%' || index == len) {
            buf.append(c1);
            continue;
        }
        char c2 = fmt.charAt(index);
        switch (c2) {
        case 'A':
            buf.append(date.dayOfWeek().getAsText(locale));
            break;
        case 'a':
            buf.append(date.dayOfWeek().getAsShortText(locale));
            break;
        case 'B':
            buf.append(date.monthOfYear().getAsText(locale));
            break;
        case 'b':
            buf.append(date.monthOfYear().getAsShortText(locale));
            break;
        case 'C':
            leftPad(date.centuryOfEra().get(), '0', 2, buf);
            break;
        case 'c':
            formatAggregate(DateTimeAggregate.FULL, locale, date, buf);
            break;
        case 'D':
            formatAggregate(DateTimeAggregate.MMDDYY, locale, date, buf);
            break;
        case 'd':
            leftPad(date.dayOfMonth().get(), '0', 2, buf);
            break;
        case 'e':
            leftPad(date.dayOfMonth().get(), ' ', 2, buf);
            break;
        case 'F':
            formatAggregate(DateTimeAggregate.YYYYMMDD, locale, date, buf);
            break;
        case 'G':
            buf.append(date.year().get());
            break;
        case 'g':
            leftPad(date.yearOfCentury().get(), '0', 2, buf);
            break;
        case 'H':
            leftPad(date.hourOfDay().get(), '0', 2, buf);
            break;
        case 'h':
            buf.append(date.monthOfYear().getAsShortText(locale));
            break;
        case 'I':
            leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), '0', 2, buf);
            break;
        case 'j':
            leftPad(date.dayOfYear().get(), '0', 3, buf);
            break;
        case 'k':
            leftPad(date.get(DateTimeFieldType.clockhourOfDay()), ' ', 2, buf);
            break;
        case 'l':
            leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), ' ', 2, buf);
            break;
        case 'M':
            leftPad(date.minuteOfHour().get(), '0', 2, buf);
            break;
        case 'm':
            leftPad(date.monthOfYear().get(), '0', 2, buf);
            break;
        case 'n':
            buf.append('\n');
            break;
        case 'P':
            buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "am" : "pm");
            break;
        case 'p':
            buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM");
            break;
        case 'R':
            formatAggregate(DateTimeAggregate.H240_M0, locale, date, buf);
            break;
        case 'S':
            leftPad(date.secondOfMinute().get(), '0', 2, buf);
            break;
        case 's':
            buf.append(instant / 1000);
            break;
        case 't':
            buf.append('\t');
            break;
        case 'T':
            // Equivalent of %H:%M:%S
            formatAggregate(DateTimeAggregate.H240_M0, locale, date, buf);
            buf.append(':');
            leftPad(date.secondOfMinute().get(), '0', 2, buf);
            break;

        case 'U':
            // TODO: fix week-of-year number
            leftPad(date.weekOfWeekyear().get(), '0', 2, buf);
            break;

        case 'u':
            buf.append(date.dayOfWeek().get());
            break;

        case 'V':
            // TODO: fix week-of-year number
            leftPad(date.weekOfWeekyear().get(), '0', 2, buf);
            break;

        case 'v':
            // Equivalent of %e-%b-%Y
            leftPad(date.dayOfMonth().get(), ' ', 2, buf);
            buf.append('-');
            buf.append(date.monthOfYear().getAsShortText());
            buf.append('-');
            buf.append(date.getYear());
            break;

        case 'W':
            // TODO: fix week-of-year number
            break;

        case 'w':
            buf.append(date.dayOfWeek().get());
            break;
        case 'X':
            formatAggregate(DateTimeAggregate.HHMMSSP, locale, date, buf);
            break;
        case 'x':
            formatAggregate(DateTimeAggregate.MMDDYYYY, locale, date, buf);
            break;
        case 'Y':
            buf.append(date.getYear());
            break;
        case 'y':
            leftPad(date.getYearOfCentury(), '0', 2, buf);
            break;

        case 'Z':
            // Note: Joda's nameKey happens to be the same as the shortName. Making
            // this change to workaround Joda https://github.com/JodaOrg/joda-time/issues/288
            buf.append(zone.getNameKey(date.getMillis()));
            break;

        case 'z':
            int offset = date.getZone().getOffset(instant) / 60000;
            int hours = (int) Math.floor(offset / 60);
            int minutes = (hours * 60) - offset;
            if (offset < 0) {
                buf.append('-');
            }
            leftPad(Math.abs(hours), '0', 2, buf);
            leftPad(Math.abs(minutes), '0', 2, buf);
            break;

        default:
            // no match, emit literals.
            buf.append(c1).append(c2);
        }
        index++;
    }
}

From source file:com.squarespace.template.plugins.PluginDateUtils.java

License:Apache License

private static void formatAggregate(DateTimeAggregate type, Locale locale, DateTime date, StringBuilder buf) {
    switch (type) {
    case FULL:/*from   w w w  .ja v a2  s .  c o m*/
        buf.append(date.dayOfWeek().getAsShortText(locale));
        buf.append(' ');
        leftPad(date.dayOfMonth().get(), '0', 2, buf);
        buf.append(' ');
        buf.append(date.monthOfYear().getAsShortText(locale));
        buf.append(' ');
        buf.append(date.year().get());
        buf.append(' ');
        leftPad(date.get(DateTimeFieldType.clockhourOfHalfday()), '0', 2, buf);
        buf.append(':');
        leftPad(date.minuteOfHour().get(), '0', 2, buf);
        buf.append(':');
        leftPad(date.secondOfMinute().get(), '0', 2, buf);
        buf.append(' ');
        buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM");
        buf.append(' ');
        buf.append(date.getZone().getNameKey(date.getMillis()));
        break;

    case H240_M0:
        leftPad(date.get(DateTimeFieldType.clockhourOfDay()), '0', 2, buf);
        buf.append(':');
        leftPad(date.minuteOfHour().get(), '0', 2, buf);
        break;

    case HHMMSSP:
        leftPad(date.get(DateTimeFieldType.hourOfHalfday()), '0', 2, buf);
        buf.append(':');
        leftPad(date.getMinuteOfHour(), '0', 2, buf);
        buf.append(':');
        leftPad(date.getSecondOfMinute(), '0', 2, buf);
        buf.append(' ');
        buf.append(date.get(DateTimeFieldType.halfdayOfDay()) == 0 ? "AM" : "PM");
        break;

    case MMDDYY:
        leftPad(date.getMonthOfYear(), '0', 2, buf);
        buf.append('/');
        leftPad(date.dayOfMonth().get(), '0', 2, buf);
        buf.append('/');
        leftPad(date.yearOfCentury().get(), '0', 2, buf);
        break;

    case MMDDYYYY:
        leftPad(date.getMonthOfYear(), '0', 2, buf);
        buf.append('/');
        leftPad(date.dayOfMonth().get(), '0', 2, buf);
        buf.append('/');
        buf.append(date.getYear());
        break;

    case YYYYMMDD:
        buf.append(date.year().get());
        buf.append('-');
        leftPad(date.monthOfYear().get(), '0', 2, buf);
        buf.append('-');
        leftPad(date.dayOfMonth().get(), '0', 2, buf);
        break;

    default:
        break;
    }
}

From source file:com.tikal.tallerWeb.modelo.alerta.RangoAlertaVerificacion.java

License:Apache License

private DateTime armaFechaRangoIzquierdo(int mes, int yearSwift) {
    DateTime r = new DateTime();
    r = new DateTime(r.getYear() + yearSwift, mes, r.dayOfMonth().getMinimumValue(),
            r.hourOfDay().getMinimumValue(), r.minuteOfHour().getMinimumValue(),
            r.secondOfMinute().getMinimumValue(), r.millisOfSecond().getMinimumValue(), r.getZone());
    r = r.minusDays(diasAntesDelMes);/*from   w  ww.  ja  va2s  . com*/
    return r;
}

From source file:com.tikal.tallerWeb.modelo.alerta.RangoAlertaVerificacion.java

License:Apache License

private DateTime armaFechaRangoDerecho(int mes, int yearSwift) {
    DateTime r = new DateTime();
    r = new DateTime(r.getYear() + yearSwift, mes, r.dayOfMonth().getMinimumValue(),
            r.hourOfDay().getMinimumValue(), r.minuteOfHour().getMinimumValue(),
            r.secondOfMinute().getMinimumValue(), r.millisOfSecond().getMinimumValue(), r.getZone());
    r = new DateTime(r.getYear(), mes, r.dayOfMonth().getMaximumValue(), r.hourOfDay().getMaximumValue(),
            r.minuteOfHour().getMaximumValue(), r.secondOfMinute().getMaximumValue(),
            r.millisOfSecond().getMaximumValue(), r.getZone());
    return r;/*from ww w  .j  av a2s . com*/
}

From source file:com.tkmtwo.timex.DateTimes.java

License:Apache License

/**
 * Return the DateTime with no milliseconds.
 *
 * @param dt a DateTime value/*from ww w .j a  v  a 2  s  .c o  m*/
 * @return a DateTime value
 */
public static DateTime noMillis(DateTime dt) {
    if (dt == null) {
        return null;
    }
    return dt.secondOfMinute().roundFloorCopy();
}

From source file:io.druid.query.expression.TimestampExtractExprMacro.java

License:Apache License

@Override
public Expr apply(final List<Expr> args) {
    if (args.size() < 2 || args.size() > 3) {
        throw new IAE("Function[%s] must have 2 to 3 arguments", name());
    }//from   w w  w.  j ava 2s .  c o  m

    if (!args.get(1).isLiteral() || args.get(1).getLiteralValue() == null) {
        throw new IAE("Function[%s] unit arg must be literal", name());
    }

    if (args.size() > 2 && !args.get(2).isLiteral()) {
        throw new IAE("Function[%s] timezone arg must be literal", name());
    }

    final Expr arg = args.get(0);
    final Unit unit = Unit.valueOf(((String) args.get(1).getLiteralValue()).toUpperCase());
    final DateTimeZone timeZone;

    if (args.size() > 2) {
        timeZone = ExprUtils.toTimeZone(args.get(2));
    } else {
        timeZone = DateTimeZone.UTC;
    }

    final ISOChronology chronology = ISOChronology.getInstance(timeZone);

    class TimestampExtractExpr implements Expr {
        @Nonnull
        @Override
        public ExprEval eval(final ObjectBinding bindings) {
            final DateTime dateTime = new DateTime(arg.eval(bindings).asLong()).withChronology(chronology);
            switch (unit) {
            case EPOCH:
                return ExprEval.of(dateTime.getMillis());
            case SECOND:
                return ExprEval.of(dateTime.secondOfMinute().get());
            case MINUTE:
                return ExprEval.of(dateTime.minuteOfHour().get());
            case HOUR:
                return ExprEval.of(dateTime.hourOfDay().get());
            case DAY:
                return ExprEval.of(dateTime.dayOfMonth().get());
            case DOW:
                return ExprEval.of(dateTime.dayOfWeek().get());
            case DOY:
                return ExprEval.of(dateTime.dayOfYear().get());
            case WEEK:
                return ExprEval.of(dateTime.weekOfWeekyear().get());
            case MONTH:
                return ExprEval.of(dateTime.monthOfYear().get());
            case QUARTER:
                return ExprEval.of((dateTime.monthOfYear().get() - 1) / 3 + 1);
            case YEAR:
                return ExprEval.of(dateTime.year().get());
            default:
                throw new ISE("Unhandled unit[%s]", unit);
            }
        }

        @Override
        public void visit(final Visitor visitor) {
            arg.visit(visitor);
            visitor.visit(this);
        }
    }

    return new TimestampExtractExpr();
}