public static String formatDuration(Duration duration) { long seconds = duration.getSeconds(); long absSeconds = Math.abs(seconds); String positive = String.format( "%d:%02d:%02d", absSeconds / 3600, (absSeconds % 3600) / 60, absSeconds % 60); return seconds < 0 ? "-" + positive : positive; }
LocalDateTime localNow = LocalDateTime.now(); ZoneId currentZone = ZoneId.of("America/Los_Angeles"); ZonedDateTime zonedNow = ZonedDateTime.of(localNow, currentZone); ZonedDateTime zonedNext5 ; zonedNext5 = zonedNow.withHour(5).withMinute(0).withSecond(0); if(zonedNow.compareTo(zonedNext5) > 0) zonedNext5 = zonedNext5.plusDays(1); Duration duration = Duration.between(zonedNow, zonedNext5); long initalDelay = duration.getSeconds(); ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); scheduler.scheduleAtFixedRate(new MyRunnableTask(), initalDelay, 24*60*60, TimeUnit.SECONDS);
protected Calendar add(Calendar date, Duration duration) { Calendar calendar = (Calendar) date.clone(); // duration.addTo does not account for daylight saving time (xerces), // reversing order of addition fixes the problem calendar.add(Calendar.SECOND, duration.getSeconds() * duration.getSign()); calendar.add(Calendar.MINUTE, duration.getMinutes() * duration.getSign()); calendar.add(Calendar.HOUR, duration.getHours() * duration.getSign()); calendar.add(Calendar.DAY_OF_MONTH, duration.getDays() * duration.getSign()); calendar.add(Calendar.MONTH, duration.getMonths() * duration.getSign()); calendar.add(Calendar.YEAR, duration.getYears() * duration.getSign()); return calendar; }
return duration.getSeconds();
@Override public int getSeconds() { return duration.getSeconds(); }
@Override public int getSeconds() { return duration.getSeconds(); }
private static String format(Duration d, String event) { long s=d.getSeconds(); String prep=" since "; if(s<0) { s=-s; prep=" to "; } long h=s/3600, min=s/60; s-=min*60; min-=h*60; return h+" hour(s), "+min+" min, "+s+" sec"+prep+event; }
private static String toHHMMSS(Duration d) { long hours = d.toHours(); int minutes = (int) (d.toMinutes() % 60); int secs = (int) (d.getSeconds() % 60); return hours + ":" + minutes + ":" + secs; }
Instant garminEpoch = Instant.parse( "1989-12-31T00:00:00Z" ); Instant now = Instant.now(); Duration duration = Duration.between( garminEpoch , now ); long seconds = duration.getSeconds(); // This span of time as a total number of seconds.
Duration duration = Duration.ofSeconds(3000); long hours = duration.toHours(); int minutes = (int) ((duration.getSeconds() % (60 * 60)) / 60); int seconds = (int) (duration.getSeconds() % 60); System.out.println(hours + ":" + minutes + ":" + seconds);
public static String formatDuration(Duration duration) { long hours = duration.toHours(); duration = duration.minusHours(hours); long minutes = duration.toMinutes(); duration = duration.minusMinutes(minutes); long seconds = duration.getSeconds(); return String.format("%02d:%02d:%02d", hours, minutes, seconds); }
public BigDecimal seconds(Duration duration) { return BigDecimal.valueOf(duration.getSeconds()); }
LocalTime start = LocalTime.of(6,15,30,200); // h, m, s, nanosecs LocalTime end = LocalTime.of(6,30,30,320); Duration d = Duration.between(start, end); System.out.println(d.getSeconds()/60);
Instant instant = Instant.now(); ZoneId zoneId = ZoneId.of( "America/Montreal" ); ZonedDateTime now = ZonedDateTime.ofInstant( instant , zoneId ); LocalDate tomorrow = now.toLocalDate().plusDays(1); ZonedDateTime startTomorrow = tomorrow.atStartOfDay(); Duration duration = Duration.between( now , startTomorrow ); long secondsToTomorrow = duration.getSeconds();
LocalDateTime dt1 = LocalDateTime.of(2014, 9, 11, 10, 0); LocalDateTime dt2 = LocalDateTime.of(2014, 9, 11, 12, 0); Duration duration = Duration.between(dt1, dt2); System.out.println(duration.toDays()); System.out.println(duration.toHours()); System.out.println(duration.toMinutes()); System.out.println(duration.getSeconds());
protected Calendar add(Calendar date, Duration duration) { Calendar calendar = (Calendar) date.clone(); // duration.addTo does not account for daylight saving time (xerces), // reversing order of addition fixes the problem calendar.add(Calendar.SECOND, duration.getSeconds() * duration.getSign()); calendar.add(Calendar.MINUTE, duration.getMinutes() * duration.getSign()); calendar.add(Calendar.HOUR, duration.getHours() * duration.getSign()); calendar.add(Calendar.DAY_OF_MONTH, duration.getDays() * duration.getSign()); calendar.add(Calendar.MONTH, duration.getMonths() * duration.getSign()); calendar.add(Calendar.YEAR, duration.getYears() * duration.getSign()); return calendar; }
protected Calendar add(Calendar date, Duration duration) { Calendar calendar = (Calendar) date.clone(); // duration.addTo does not account for daylight saving time (xerces), // reversing order of addition fixes the problem calendar.add(Calendar.SECOND, duration.getSeconds() * duration.getSign()); calendar.add(Calendar.MINUTE, duration.getMinutes() * duration.getSign()); calendar.add(Calendar.HOUR, duration.getHours() * duration.getSign()); calendar.add(Calendar.DAY_OF_MONTH, duration.getDays() * duration.getSign()); calendar.add(Calendar.MONTH, duration.getMonths() * duration.getSign()); calendar.add(Calendar.YEAR, duration.getYears() * duration.getSign()); return calendar; }
protected Calendar add(Calendar date, Duration duration) { Calendar calendar = (Calendar) date.clone(); // duration.addTo does not account for daylight saving time (xerces), // reversing order of addition fixes the problem calendar.add(Calendar.SECOND, duration.getSeconds() * duration.getSign()); calendar.add(Calendar.MINUTE, duration.getMinutes() * duration.getSign()); calendar.add(Calendar.HOUR, duration.getHours() * duration.getSign()); calendar.add(Calendar.DAY_OF_MONTH, duration.getDays() * duration.getSign()); calendar.add(Calendar.MONTH, duration.getMonths() * duration.getSign()); calendar.add(Calendar.YEAR, duration.getYears() * duration.getSign()); return calendar; }
protected TemporalAmount toTemporalDuration(Duration duration) { int days = normalize(duration.getDays()); int hours = normalize(duration.getHours()); int minutes = normalize(duration.getMinutes()); int seconds = normalize(duration.getSeconds()); java.time.Duration timeDuration = java.time.Duration.ofDays(days).plusHours(hours).plusMinutes(minutes).plusSeconds(seconds); return duration.getSign() == -1 ? timeDuration.negated() : timeDuration; }
protected TemporalAmount toTemporalDuration(Duration duration) { int days = normalize(duration.getDays()); int hours = normalize(duration.getHours()); int minutes = normalize(duration.getMinutes()); int seconds = normalize(duration.getSeconds()); java.time.Duration timeDuration = java.time.Duration.ofDays(days).plusHours(hours).plusMinutes(minutes).plusSeconds(seconds); return duration.getSign() == -1 ? timeDuration.negated() : timeDuration; }