List of usage examples for org.joda.time Period getSeconds
public int getSeconds()
From source file:org.ash.util.Utils.java
License:Open Source License
public static String getTimeFormatting(double intervalSec) { String out = ""; // Exit when intervalSec == 0 if (intervalSec == 0.0) { return out; }/*from w w w .j a v a 2 s . co m*/ DateTime start = new DateTime(0); DateTime end = new DateTime((long) (intervalSec * 1000)); Period period = new Period(start, end); String hours = ""; String minutes = ""; String secunds = ""; if (period.getHours() < 10) { hours = "0" + period.getHours(); } else { hours = "" + period.getHours(); } if (period.getMinutes() < 10) { minutes = "0" + period.getMinutes(); } else { minutes = "" + period.getMinutes(); } if (period.getSeconds() < 10) { secunds = "0" + period.getSeconds(); } else { secunds = "" + period.getSeconds(); } out = hours + ":" + minutes + ":" + secunds; return out; }
From source file:org.bhave.experiment.run.GUIConsole.java
public void updateProgress(final Period remaining, final int value, final int currentRun, final int totalRuns) { SwingUtilities.invokeLater(new Runnable() { public void run() { progress.setValue(value);/*w ww. j a va 2 s . com*/ progress.setString("estimated time remaining: " + String.format("%02d:%02d:%02d", remaining.getHours(), remaining.getMinutes(), remaining.getSeconds())); notification.append("completed run: " + currentRun + " / " + totalRuns + "\n"); } }); }
From source file:org.dungeon.io.SavesTableWriter.java
License:Open Source License
private static String makePeriodString(long start, long end) { Period period = new Period(start, end); TimeStringBuilder builder = new TimeStringBuilder(); builder.set(EarthTimeUnit.YEAR, period.getYears()); builder.set(EarthTimeUnit.MONTH, period.getMonths()); builder.set(EarthTimeUnit.DAY, period.getDays()); builder.set(EarthTimeUnit.HOUR, period.getHours()); builder.set(EarthTimeUnit.MINUTE, period.getMinutes()); builder.set(EarthTimeUnit.SECOND, period.getSeconds()); return builder.toString(2) + " ago"; }
From source file:org.eclim.plugin.core.command.history.HistoryListCommand.java
License:Open Source License
private String delta(long time) { // FIXME: a formatter can probably do this. Period period = new Period(time, System.currentTimeMillis()); ArrayList<String> parts = new ArrayList<String>(); int years = period.getYears(); if (years > 0) { parts.add(years + " year" + (years == 1 ? "" : "s")); }//from w ww . j a va2s . c om int months = period.getMonths(); if (months > 0) { parts.add(months + " month" + (months == 1 ? "" : "s")); } int weeks = period.getWeeks(); if (weeks > 0) { parts.add(weeks + " week" + (weeks == 1 ? "" : "s")); } int days = period.getDays(); if (days > 0) { parts.add(days + " day" + (days == 1 ? "" : "s")); } int hours = period.getHours(); if (hours > 0) { parts.add(hours + " hour" + (hours == 1 ? "" : "s")); } int minutes = period.getMinutes(); if (minutes > 0) { parts.add(minutes + " minute" + (minutes == 1 ? "" : "s")); } int seconds = period.getSeconds(); if (seconds > 0) { parts.add(seconds + " second" + (seconds == 1 ? "" : "s")); } if (parts.size() == 0) { int millis = period.getMillis(); if (millis > 0) { parts.add(millis + " millis"); } } return StringUtils.join(parts.toArray(), ' ') + " ago"; }
From source file:org.footware.server.gpx.model.GPSHelperFunctions.java
License:Apache License
/** * Return the speed in m/s //from w ww . ja v a 2 s.com * @param startPoint the start point * @param endPoint the end point * @return */ public static double getSpeed(GPXTrackPoint startPoint, GPXTrackPoint endPoint) { double distance = getDistance(startPoint, endPoint); Period time = getTimeDifference(startPoint, endPoint); return distance / time.getSeconds(); }
From source file:org.gdg.frisbee.android.utils.Utils.java
License:Apache License
public static String toHumanTimePeriod(Context ctx, DateTime start, DateTime end) { String result;/*from w ww. j a va 2s .c om*/ Resources res = ctx.getResources(); Period p = new Period(start, end); if (p.getYears() == 0 && p.getMonths() == 0 && p.getWeeks() == 0 && p.getDays() == 0 && p.getHours() == 0 && p.getMinutes() == 0) { result = res.getQuantityString(R.plurals.seconds_ago, p.getSeconds(), p.getSeconds()); } else if (p.getYears() == 0 && p.getMonths() == 0 && p.getWeeks() == 0 && p.getDays() == 0 && p.getHours() == 0) { result = res.getQuantityString(R.plurals.minutes_ago, p.getMinutes(), p.getMinutes()); } else if (p.getYears() == 0 && p.getMonths() == 0 && p.getWeeks() == 0 && p.getDays() == 0) { result = res.getQuantityString(R.plurals.hours_ago, p.getHours(), p.getHours()); } else if (p.getYears() == 0 && p.getMonths() == 0 && p.getWeeks() == 0) { result = res.getQuantityString(R.plurals.days_ago, p.getDays(), p.getDays()); } else { result = start.toLocalDateTime() .toString(DateTimeFormat.patternForStyle("M-", res.getConfiguration().locale)); } return result; }
From source file:org.gephi.desktop.timeline.DateTick.java
License:Open Source License
public static DateTick create(double min, double max, int width) { DateTime minDate = new DateTime((long) min); DateTime maxDate = new DateTime((long) max); Period period = new Period(minDate, maxDate, PeriodType.yearMonthDayTime()); ;/*from w ww.ja va 2 s . c o m*/ int years = period.getYears(); int months = period.getMonths(); int days = period.getDays(); int hours = period.getHours(); int minutes = period.getMinutes(); int seconds = period.getSeconds(); //Top type DateTimeFieldType topType; if (years > 0) { topType = DateTimeFieldType.year(); } else if (months > 0) { topType = DateTimeFieldType.monthOfYear(); } else if (days > 0) { topType = DateTimeFieldType.dayOfMonth(); } else if (hours > 0) { topType = DateTimeFieldType.hourOfDay(); } else if (minutes > 0) { topType = DateTimeFieldType.minuteOfHour(); } else if (seconds > 0) { topType = DateTimeFieldType.secondOfMinute(); } else { topType = DateTimeFieldType.millisOfSecond(); } //Bottom type if (topType != DateTimeFieldType.millisOfSecond()) { DateTimeFieldType bottomType; if (topType.equals(DateTimeFieldType.year())) { bottomType = DateTimeFieldType.monthOfYear(); } else if (topType.equals(DateTimeFieldType.monthOfYear())) { bottomType = DateTimeFieldType.dayOfMonth(); } else if (topType.equals(DateTimeFieldType.dayOfMonth())) { bottomType = DateTimeFieldType.hourOfDay(); } else if (topType.equals(DateTimeFieldType.hourOfDay())) { bottomType = DateTimeFieldType.minuteOfHour(); } else if (topType.equals(DateTimeFieldType.minuteOfHour())) { bottomType = DateTimeFieldType.secondOfMinute(); } else { bottomType = DateTimeFieldType.millisOfSecond(); } //Number of ticks Period p = new Period(minDate, maxDate, PeriodType.forFields(new DurationFieldType[] { bottomType.getDurationType() })); int intervals = p.get(bottomType.getDurationType()); if (intervals > 0) { int intervalSize = width / intervals; if (intervalSize >= MIN_PIXELS) { return new DateTick(minDate, maxDate, new DateTimeFieldType[] { topType, bottomType }); } } } return new DateTick(minDate, maxDate, new DateTimeFieldType[] { topType }); }
From source file:org.graylog.plugins.collector.collectors.CollectorServiceImpl.java
License:Open Source License
@Override public int destroyExpired(Period period) { int count = 0; final DateTime threshold = DateTime.now(DateTimeZone.UTC).minusSeconds(period.getSeconds()); for (Collector collector : all()) if (collector.getLastSeen().isBefore(threshold)) count += destroy(collector); return count; }
From source file:org.graylog2.indexer.rotation.strategies.TimeBasedRotationStrategy.java
License:Open Source License
/** * Determines the starting point ("anchor") for a period. * * To produce repeatable rotation points in time, the period is "snapped" to a "grid" of time. * For example, an hourly index rotation would be anchored to the last full hour, instead of happening at whatever minute * the first rotation was started.//from ww w . j a va2 s .c om * * This "snapping" is done accordingly with the other parts of a period. * * For highly irregular periods (those that do not have a small zero component) * * @param period the rotation period * @return the anchor DateTime to calculate rotation periods from */ protected static DateTime determineRotationPeriodAnchor(@Nullable DateTime lastAnchor, Period period) { final Period normalized = period.normalizedStandard(); int years = normalized.getYears(); int months = normalized.getMonths(); int weeks = normalized.getWeeks(); int days = normalized.getDays(); int hours = normalized.getHours(); int minutes = normalized.getMinutes(); int seconds = normalized.getSeconds(); if (years == 0 && months == 0 && weeks == 0 && days == 0 && hours == 0 && minutes == 0 && seconds == 0) { throw new IllegalArgumentException("Invalid rotation period specified"); } // find the largest non-zero stride in the period. that's our anchor type. statement order matters here! DateTimeFieldType largestStrideType = null; if (seconds > 0) largestStrideType = secondOfMinute(); if (minutes > 0) largestStrideType = minuteOfHour(); if (hours > 0) largestStrideType = hourOfDay(); if (days > 0) largestStrideType = dayOfMonth(); if (weeks > 0) largestStrideType = weekOfWeekyear(); if (months > 0) largestStrideType = monthOfYear(); if (years > 0) largestStrideType = year(); if (largestStrideType == null) { throw new IllegalArgumentException("Could not determine rotation stride length."); } final DateTime anchorTime = MoreObjects.firstNonNull(lastAnchor, Tools.nowUTC()); final DateTimeField field = largestStrideType.getField(anchorTime.getChronology()); // use normalized here to make sure we actually have the largestStride type available! see https://github.com/Graylog2/graylog2-server/issues/836 int periodValue = normalized.get(largestStrideType.getDurationType()); final long fieldValue = field.roundFloor(anchorTime.getMillis()); final int fieldValueInUnit = field.get(fieldValue); if (periodValue == 0) { // https://github.com/Graylog2/graylog2-server/issues/836 log.warn( "Determining stride length failed because of a 0 period. Defaulting back to 1 period to avoid crashing, but this is a bug!"); periodValue = 1; } final long difference = (fieldValueInUnit % periodValue); final long newValue = field.add(fieldValue, -1 * difference); return new DateTime(newValue, DateTimeZone.UTC); }
From source file:org.graylog2.indexer.rotation.TimeBasedRotationStrategy.java
License:Open Source License
/** * Determines the starting point ("anchor") for a period. * * To produce repeatable rotation points in time, the period is "snapped" to a "grid" of time. * For example, an hourly index rotation would be anchored to the last full hour, instead of happening at whatever minute * the first rotation was started./* w w w . j a va 2 s. com*/ * * This "snapping" is done accordingly with the other parts of a period. * * For highly irregular periods (those that do not have a small zero component) * * @param period the rotation period * @return the anchor DateTime to calculate rotation periods from */ protected static DateTime determineRotationPeriodAnchor(Period period) { final Period normalized = period.normalizedStandard(); int years = normalized.getYears(); int months = normalized.getMonths(); int weeks = normalized.getWeeks(); int days = normalized.getDays(); int hours = normalized.getHours(); int minutes = normalized.getMinutes(); int seconds = normalized.getSeconds(); if (years == 0 && months == 0 && weeks == 0 && days == 0 && hours == 0 && minutes == 0 && seconds == 0) { throw new IllegalArgumentException("Invalid rotation period specified"); } // find the largest non-zero stride in the period. that's our anchor type. statement order matters here! DateTimeFieldType largestStrideType = null; if (seconds > 0) largestStrideType = secondOfMinute(); if (minutes > 0) largestStrideType = minuteOfHour(); if (hours > 0) largestStrideType = hourOfDay(); if (days > 0) largestStrideType = dayOfMonth(); if (weeks > 0) largestStrideType = weekOfWeekyear(); if (months > 0) largestStrideType = monthOfYear(); if (years > 0) largestStrideType = year(); if (largestStrideType == null) { throw new IllegalArgumentException("Could not determine rotation stride length."); } final DateTime now = Tools.iso8601(); final DateTimeField field = largestStrideType.getField(now.getChronology()); // use normalized here to make sure we actually have the largestStride type available! see https://github.com/Graylog2/graylog2-server/issues/836 int periodValue = normalized.get(largestStrideType.getDurationType()); final long fieldValue = field.roundFloor(now.getMillis()); final int fieldValueInUnit = field.get(fieldValue); if (periodValue == 0) { // https://github.com/Graylog2/graylog2-server/issues/836 log.warn( "Determining stride length failed because of a 0 period. Defaulting back to 1 period to avoid crashing, but this is a bug!"); periodValue = 1; } final long difference = (fieldValueInUnit % periodValue); final long newValue = field.add(fieldValue, -1 * difference); return new DateTime(newValue, DateTimeZone.UTC); }