DateTime today = new DateTime(); DateTime yesterday = today.minusDays(1); Duration duration = new Duration(yesterday, today); System.out.println(duration.getStandardDays()); System.out.println(duration.getStandardHours()); System.out.println(duration.getStandardMinutes());
DateTime now = new DateTime(); DateTime midnight = now.withTimeAtStartOfDay(); Duration duration = new Duration(midnight, now); int seconds = duration.toStandardSeconds().getSeconds();
private DateTime roundDate(final DateTime dateTime, final int minutes) { if (minutes < 1 || 60 % minutes != 0) { throw new IllegalArgumentException("minutes must be a factor of 60"); } final DateTime hour = dateTime.hourOfDay().roundFloorCopy(); final long millisSinceHour = new Duration(hour, dateTime).getMillis(); final int roundedMinutes = ((int)Math.round( millisSinceHour / 60000.0 / minutes)) * minutes; return hour.plusMinutes(roundedMinutes); }
//import org.joda.time.format.PeriodFormatter; //import org.joda.time.format.PeriodFormatterBuilder; //import org.joda.time.Duration; Duration duration = new Duration(123456); // in milliseconds PeriodFormatter formatter = new PeriodFormatterBuilder() .appendDays() .appendSuffix("d") .appendHours() .appendSuffix("h") .appendMinutes() .appendSuffix("m") .appendSeconds() .appendSuffix("s") .toFormatter(); String formatted = formatter.print(duration.toPeriod()); System.out.println(formatted);
private static final BigDecimal SECONDS_PER_HOUR = BigDecimal.valueOf(DateTimeConstants.SECONDS_PER_HOUR); ... DateTime dt1 = ...; DateTime dt2 = ...; Duration duration = new Duration(dt1, dt2); BigDecimal result = BigDecimal.valueOf(duration.toStandardSeconds().getSeconds()) .divide(SECONDS_PER_HOUR) .setScale(2, RoundingMode.HALF_DOWN);
private static final BigDecimal MILLIS_PER_HOUR = BigDecimal.valueOf(DateTimeConstants.MILLIS_PER_HOUR); ... DateTime dt1 = ...; DateTime dt2 = ...; Duration duration = new Duration(dt1, dt2); BigDecimal result = BigDecimal.valueOf(duration.getMillis()) .divide(MILLIS_PER_HOUR) .setScale(2, RoundingMode.HALF_DOWN);
legJSONObject = legsJSONArray.getJSONObject(b); leg.setDistance(new Distance(legJSONObject.optJSONObject(DISTANCE).optString(TEXT), legJSONObject.optJSONObject(DISTANCE).optLong(VALUE))); leg.setDuration(new Duration(legJSONObject.optJSONObject(DURATION).optString(TEXT), legJSONObject.optJSONObject(DURATION).optLong(VALUE))); stepsJSONArray = legJSONObject.getJSONArray(STEPS); JSONObject stepJSONObject, stepDurationJSONObject, legPolyLineJSONObject, stepStartLocationJSONObject, stepEndLocationJSONObject; step.setDistance(new Distance(stepDistanceJSONObject.getString(TEXT), stepDistanceJSONObject.getLong(VALUE))); stepDurationJSONObject = stepJSONObject.getJSONObject(DURATION); step.setDuration(new Duration(stepDurationJSONObject.getString(TEXT), stepDurationJSONObject.getLong(VALUE))); stepEndLocationJSONObject = stepJSONObject.getJSONObject(END_LOCATION); stepEndLocationLatLng = new LatLng(stepEndLocationJSONObject.getDouble(LATITUDE), stepEndLocationJSONObject.getDouble(LONGITUDE));
private void recalculateTransition() { transition.setToX(node.getBoundsInLocal().getMaxX() * -1 - 100); transition.setFromX(parentPane.widthProperty().get() + 100); double distance = parentPane.widthProperty().get() + 2 * node.getBoundsInLocal().getMaxX(); transition.setDuration(new Duration(distance / SPEED_FACTOR)); }
@Bean public JCacheManagerCustomizer cacheManagerCustomizer() { return cm -> { cm.createCache("teamConfigs", new MutableConfiguration<>() .setExpiryPolicyFactory(CreatedExpiryPolicy .factoryOf(new Duration(MINUTES, 15))); }; }
Instant x = ...; Instant y = ...; // Duration from x to y, although the result isn't "anchored" (it forgets x and y) Duration d = new Duration(x, y); Instant y2 = x.plus(d); // y2 is now equal to y
DateTime history = new DateTime( "1901-01-01", DateTimeZone.UTC ).withTimeAtStartOfDay(); // Technically, the call to withTimeAtStartOfDay is not necessary here as Joda-Time defaults to that for parsing a date-only string. But the call is a good habit and makes clear out intention. DateTime today = new DateTime( DateTimeZone.UTC ).withTimeAtStartOfDay(); Duration duration = new Duration( history, today ); long millis = duration.getMillis(); // Use a long, not an int. long seconds = ( millis / 1000L ); // Use a long, not an int. Maybe use BigDecimal or BigInteger if you want rounding.
import org.joda.time.DateTime; import org.joda.time.Duration; DateTime today = new DateTime(); DateTime yesterday = today.minusDays(1); Duration duration = new Duration(yesterday, today); System.out.println(duration.getStandardDays());
DateTimeFormatter formatter = DateTimeFormat.forPattern("H:mm a"); DateTime time1 = formatter.parseDateTime("9:00 AM"); DateTime time2 = formatter.parseDateTime("10:00 AM"); Duration duration = new Duration(time1, time2); System.out.printf("%s hour(s), %s minute(s)%n", duration.getStandardHours(), duration.getStandardMinutes());
String fromDate; String toDate; DateTimeFormatter format = new DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); DateTime fromDT = format.parseDateTime(fromDate); DateTime toDT = format.parseDateTime(toDate); Duration duration = new Duration(fromDT, toDT); int minutes = duration.getStandardMinutes();
Duration d = new Duration(100000000L); // in milliseconds Period p = d.toPeriodFrom(new DateTime(), PeriodType.yearWeekDayTime()); PeriodFormatter f = ISOPeriodFormat.alternateExtendedWithWeeks(); String s = f.print(p); System.out.println(s); // P0000-W00-01T03:46:40 (one day, 3 hours, 46 minutes and 40 secs)
public static void main(String[] args) { final LocalDateTime JAN_1_1970 = new LocalDateTime(1970, 1, 1, 0, 0); DateTime local = new DateTime().withZone(DateTimeZone.forID("Europe/Amsterdam")); DateTime utc = new DateTime(DateTimeZone.UTC); System.out.println("Europe/Amsterdam milis :" + new Duration(JAN_1_1970.toDateTime(DateTimeZone.forID("Europe/Amsterdam")), local).getMillis()); System.out.println("UTC milis :" + new Duration(JAN_1_1970.toDateTime(DateTimeZone.UTC), utc).getMillis()); }
ResultSet rs = ... Date dbDate = rs.getDate("Date"); // Get stored time in database. long serverTime = System.currentTimeMillis(); // Get current server time. // Compute absolute difference between two time-stamps. Duration duration = new Duration(Math.abs(serverTime - dbDate.getTime())); // Convert to period and make use of getHours(), getMinutes(), etc for display purposes. Period period = duration.toPeriod(); System.err.println("Hours: " + period.getHours()); System.err.println("Minutes: " + period.getMinutes()); // etc.
MutableDateTime now = MutableDateTime.now(); now.setMillisOfDay(0); now.setSecondOfDay(32); now.setMinuteOfDay(59); now.setHourOfDay(8); DateTime fromMidnight = now.toDateTime().toDateMidnight().toDateTime(); DateTime toMidnight = fromMidnight.plusDays(1); Duration duration = new Duration(fromMidnight, toMidnight); Duration dFromMidnight = new Duration(fromMidnight, now); System.out.println("From midnight: " + dFromMidnight.getStandardSeconds()); Duration dToMidnight = new Duration(now, toMidnight); System.out.println("To Midnight: " + dToMidnight.getStandardSeconds());
LocalTime lt = LocalTime.parse("6:00 am", new DateTimeFormatterBuilder(). appendHourOfDay(1). appendLiteral(":"). appendMinuteOfHour(1). appendLiteral(" "). appendHalfdayOfDayText().toFormatter()); LocalTime midnight = LocalTime.MIDNIGHT; Duration duration = new Duration(midnight.toDateTimeToday(), lt.toDateTimeToday()); System.out.println(duration.toStandardSeconds().getSeconds());
Duration duration = new Duration(); duration.add( today ); duration.substract( birthDate); int years = duration.getYears(); int months = duration.getMonths(); int days = duration.getDays();