public static String elapsedTime(Date d1, Date d2){ try{ Duration period = Duration.between(d1.toInstant(), d2.toInstant()); // Note: this will become easier with Java 9, using toDaysPart() etc. long days = period.toDays(); period = period.minusDays(days); long hours = period.toHours(); period = period.minusHours(hours); long minutes = period.toMinutes(); period = period.minusMinutes(minutes); long seconds = period.getSeconds(); return days + " days, " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds"; } catch(java.lang.IllegalArgumentException e) { log.warn(e); } return ""; }
@Override public Argument build(Duration duration, ConfigRegistry config) { Duration d = duration; final boolean isNegative = d.isNegative(); if (isNegative) { d = d.negated(); } final long days = d.toDays(); if (days > Integer.MAX_VALUE) { throw new IllegalArgumentException( String.format("duration %s too large to be represented unambiguously as postgres interval", d)); } d = d.minusDays(days); final int hours = (int) d.toHours(); d = d.minusHours(hours); final int minutes = (int) d.toMinutes(); d = d.minusMinutes(minutes); if (d.getNano() % 1000 != 0) { throw new IllegalArgumentException( String.format("duration %s too precise to represented as postgres interval", d)); } double seconds = d.getSeconds() + d.getNano() / 1e9; final PGInterval interval = new PGInterval(0, 0, (int) days, hours, minutes, seconds); if (isNegative) { interval.scale(-1); } return ObjectArgument.of(interval, Types.OTHER); } }
/** * Returns the uptime in the following pattern: 0 Hora(s), 1 minuto(s) e 1 segundo(s). * Tip by Ingo */ private String upTime() { Duration duration = Duration.ofMillis(ManagementFactory.getRuntimeMXBean().getUptime()); long hours = duration.toHours(); long minutes = duration.minusHours(hours).toMinutes(); long seconds = duration.minusHours(hours).minusMinutes(minutes).getSeconds(); return "<b>" + hours + "</b> Hours(s), <b>" + minutes + "</b> minute(s) and <b>" + seconds + "</b> Second(s)"; } }
@Nonnull public String format (final @Nonnull Duration duration) { final long hours = duration.toHours(); final long minutes = duration.minusHours(hours).toMinutes(); return String.format("%d:%02d", hours, minutes); } }
protected static String convertToString(final Integer inputInMilliSecond) { if (inputInMilliSecond == null) return null; if (inputInMilliSecond <= 0) return ZERO; Duration duration = Duration.ofMillis(inputInMilliSecond); final long hours = duration.toHours(); duration = duration.minusHours(hours); final long minutes = duration.toMinutes(); duration = duration.minusMinutes(minutes); final long seconds = duration.getSeconds(); duration = duration.minusSeconds(seconds); final long milliSeconds = duration.toMillis(); final StringBuilder sb = new StringBuilder(); if (hours != 0) { sb.append(hours).append(HOURS); } if (minutes != 0) { sb.append(minutes).append(MINUTES); } if (seconds != 0) { sb.append(seconds).append(SECONDS); } if (milliSeconds != 0) { sb.append(milliSeconds).append(MILLISECONDS); } return sb.toString(); }
if (durationMinusDays.getSeconds() != 0) { int hours = (int) durationMinusDays.getSeconds() / (60 * 60); int minutes = (int) durationMinusDays.minusHours(hours).getSeconds() / 60; int seconds = (int) durationMinusDays.minusHours(hours).minusMinutes(minutes).getSeconds(); if (hours > 0) { if (seconds > 0) {
if (durationMinusDays.getSeconds() != 0) { int hours = (int) durationMinusDays.getSeconds() / (60 * 60); int minutes = (int) durationMinusDays.minusHours(hours).getSeconds() / 60; int seconds = (int) durationMinusDays.minusHours(hours).minusMinutes(minutes).getSeconds(); if (hours > 0) { if (seconds > 0) {
private static String formatTime(long timeInMilliseconds) { Duration duration = Duration.ofMillis(timeInMilliseconds); long days = duration.toDays(); long hours = duration.minusDays(days).toHours(); long minutes = duration.minusHours(duration.toHours()).toMinutes(); return format("%dd %dh %dm", days, hours, minutes); }
public static String elapsedTime(Date d1, Date d2){ try{ Duration period = Duration.between(d1.toInstant(), d2.toInstant()); // Note: this will become easier with Java 9, using toDaysPart() etc. long days = period.toDays(); period = period.minusDays(days); long hours = period.toHours(); period = period.minusHours(hours); long minutes = period.toMinutes(); period = period.minusMinutes(minutes); long seconds = period.getSeconds(); return days + " days, " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds"; } catch(java.lang.IllegalArgumentException e) { log.warn(e); } return ""; }
builder.append(hours); builder.append('H'); duration = duration.minusHours(hours);
remainingTime = duration.minusHours(hours);
Duration duration = Duration.ofMillis(runningTime); long hours = duration.toHours(); duration = duration.minusHours(hours); long minutes = duration.toMinutes(); duration = duration.minusMinutes(minutes);
duration = duration.minusHours(hours); long mins = duration.toMinutes(); duration = duration.minusMinutes(mins);
private static Interval binaryDecodeINTERVAL(int index, int len, ByteBuf buff) { Duration duration = Duration.of(buff.getLong(index), ChronoUnit.MICROS); final long hours = duration.toHours(); duration = duration.minusHours(hours); final long minutes = duration.toMinutes(); duration = duration.minusMinutes(minutes); final long seconds = NANOSECONDS.toSeconds(duration.toNanos()); duration = duration.minusSeconds(seconds); final long microseconds = NANOSECONDS.toMicros(duration.toNanos()); int days = buff.getInt(index + 8); int months = buff.getInt(index + 12); Period monthYear = Period.of(0, months, days).normalized(); return new Interval(monthYear.getYears(), monthYear.getMonths(), monthYear.getDays(), (int) hours, (int) minutes, (int) seconds, (int) microseconds); }
private static Interval binaryDecodeINTERVAL(int index, int len, ByteBuf buff) { Duration duration = Duration.of(buff.getLong(index), ChronoUnit.MICROS); final long hours = duration.toHours(); duration = duration.minusHours(hours); final long minutes = duration.toMinutes(); duration = duration.minusMinutes(minutes); final long seconds = NANOSECONDS.toSeconds(duration.toNanos()); duration = duration.minusSeconds(seconds); final long microseconds = NANOSECONDS.toMicros(duration.toNanos()); int days = buff.getInt(index + 8); int months = buff.getInt(index + 12); Period monthYear = Period.of(0, months, days).normalized(); return new Interval(monthYear.getYears(), monthYear.getMonths(), monthYear.getDays(), (int) hours, (int) minutes, (int) seconds, (int) microseconds); }
@Override public Argument build(Duration duration, ConfigRegistry config) { Duration d = duration; final boolean isNegative = d.isNegative(); if (isNegative) { d = d.negated(); } final long days = d.toDays(); if (days > Integer.MAX_VALUE) { throw new IllegalArgumentException( String.format("duration %s too large to be represented unambiguously as postgres interval", d)); } d = d.minusDays(days); final int hours = (int) d.toHours(); d = d.minusHours(hours); final int minutes = (int) d.toMinutes(); d = d.minusMinutes(minutes); if (d.getNano() % 1000 != 0) { throw new IllegalArgumentException( String.format("duration %s too precise to represented as postgres interval", d)); } double seconds = d.getSeconds() + d.getNano() / 1e9; final PGInterval interval = new PGInterval(0, 0, (int) days, hours, minutes, seconds); if (isNegative) { interval.scale(-1); } return ObjectArgument.of(interval, Types.OTHER); } }
{ BuiltInType.UNKNOWN, "duration( \"-P5DT4H23M55S\" )", Duration.ofDays( -5 ).minusHours( 4 ).minusMinutes( 23 ).minusSeconds( 55 ) }, { BuiltInType.UNKNOWN, "duration( \"P23D\" )", Duration.ofDays( 23 ) }, { BuiltInType.UNKNOWN, "duration( \"-P23D\" )", Duration.ofDays( -23 ) },
{ BuiltInType.DURATION, "-P5DT4H23M55S", Duration.ofDays( -5 ).minusHours( 4 ).minusMinutes( 23 ).minusSeconds( 55 ) }, { BuiltInType.DURATION, "P23D", Duration.ofDays( 23 ) }, { BuiltInType.DURATION, "-P23D", Duration.ofDays( -23 ) },
{ Duration.ofDays( -5 ).minusHours( 4 ).minusMinutes( 23 ).minusSeconds( 55 ), "-P5DT4H23M55S" }, { Duration.ofDays( 23 ), "P23D" }, { Duration.ofDays( -23 ), "-P23D" },
{ Duration.ofDays( -5 ).minusHours( 4 ).minusMinutes( 23 ).minusSeconds( 55 ), "duration( \"-P5DT4H23M55S\" )" }, { Duration.ofDays( 23 ), "duration( \"P23D\" )" }, { Duration.ofDays( -23 ), "duration( \"-P23D\" )" },