@Override public Duration add(Duration d) { if (d instanceof DurationWithMillis) { return new DurationWithMillis(this, base.toDuration().plus(((DurationWithMillis) d).base)); } else if (d instanceof DurationWithFields) { return ((DurationWithFields) d).add(this); } else { throw new UnsupportedOperationException("Unknown duration type in add: " + d.getClass()); } }
public static Duration difference(Time t1, Time t2) { // Get duration from this t1 to t2 if (t1 == null || t2 == null) return null; Instant i1 = t1.getJodaTimeInstant(); Instant i2 = t2.getJodaTimeInstant(); if (i1 == null || i2 == null) return null; Duration d = new DurationWithMillis(i2.getMillis() - i1.getMillis()); Duration g1 = t1.getGranularity(); Duration g2 = t2.getGranularity(); Duration g = Duration.max(g1, g2); if (g != null) { Period p = g.getJodaTimePeriod(); p = p.normalizedStandard(); Period p2 = JodaTimeUtils.discardMoreSpecificFields(d.getJodaTimePeriod(), p.getFieldType(p.size() - 1), i1.getChronology()); return new DurationWithFields(p2); } else { return d; } }
public static Duration difference(Time t1, Time t2) { // TODO: Difference does not work between days of the week // Get duration from this t1 to t2 if (t1 == null || t2 == null) return null; Instant i1 = t1.getJodaTimeInstant(); Instant i2 = t2.getJodaTimeInstant(); if (i1 == null || i2 == null) return null; Duration d = new DurationWithMillis(i2.getMillis() - i1.getMillis()); Duration g1 = t1.getGranularity(); Duration g2 = t2.getGranularity(); Duration g = Duration.max(g1, g2); if (g != null) { Period p = g.getJodaTimePeriod(); p = p.normalizedStandard(); Period p2 = JodaTimeUtils.discardMoreSpecificFields(d.getJodaTimePeriod(), p.getFieldType(p.size() - 1), i1.getChronology()); return new DurationWithFields(p2); } else { return d; } }
public static Duration difference(Time t1, Time t2) { // TODO: Difference does not work between days of the week // Get duration from this t1 to t2 if (t1 == null || t2 == null) return null; Instant i1 = t1.getJodaTimeInstant(); Instant i2 = t2.getJodaTimeInstant(); if (i1 == null || i2 == null) return null; Duration d = new DurationWithMillis(i2.getMillis() - i1.getMillis()); Duration g1 = t1.getGranularity(); Duration g2 = t2.getGranularity(); Duration g = Duration.max(g1, g2); if (g != null) { Period p = g.getJodaTimePeriod(); p = p.normalizedStandard(); Period p2 = JodaTimeUtils.discardMoreSpecificFields(d.getJodaTimePeriod(), p.getFieldType(p.size() - 1), i1.getChronology()); return new DurationWithFields(p2); } else { return d; } }
public static Duration getDuration(org.joda.time.Duration d) { return new DurationWithMillis(d); }
public static Duration getDuration(org.joda.time.Duration d) { return new DurationWithMillis(d); }
public static Duration getDuration(org.joda.time.Duration d) { return new DurationWithMillis(d); }
public Duration add(Duration d) { if (d instanceof DurationWithMillis) { return new DurationWithMillis(this, base.toDuration().plus(((DurationWithMillis) d).base)); } else if (d instanceof DurationWithFields) { return ((DurationWithFields) d).add(this); } else { throw new UnsupportedOperationException("Unknown duration type in add: " + d.getClass()); } }
public Duration divideBy(int m) { if (m == 1) { return this; } else { long ms = base.getMillis(); return new DurationWithMillis(ms / m); } }
public Duration multiplyBy(int m) { if (m == 1) { return this; } else { long ms = base.getMillis(); return new DurationWithMillis(ms * m); } }
public Duration multiplyBy(int m) { if (m == 1) { return this; } else { long ms = base.getMillis(); return new DurationWithMillis(ms * m); } }
public Duration resolve(Time refTime, int flags) { Instant instant = (refTime != null) ? refTime.getJodaTimeInstant() : null; if (instant != null) { if ((flags & DUR_RESOLVE_FROM_AS_REF) != 0) { return new DurationWithMillis(this, period.toPeriod().toDurationFrom(instant)); } else if ((flags & DUR_RESOLVE_TO_AS_REF) != 0) { return new DurationWithMillis(this, period.toPeriod().toDurationTo(instant)); } } return this; }
public Duration resolve(Time refTime, int flags) { Instant instant = (refTime != null) ? refTime.getJodaTimeInstant() : null; if (instant != null) { if ((flags & DUR_RESOLVE_FROM_AS_REF) != 0) { return new DurationWithMillis(this, period.toPeriod().toDurationFrom(instant)); } else if ((flags & DUR_RESOLVE_TO_AS_REF) != 0) { return new DurationWithMillis(this, period.toPeriod().toDurationTo(instant)); } } return this; }
public Duration add(Duration d) { if (d instanceof DurationWithMillis) { return new DurationWithMillis(this, base.toDuration().plus(((DurationWithMillis) d).base)); } else if (d instanceof DurationWithFields) { return ((DurationWithFields) d).add(this); } else { throw new UnsupportedOperationException("Unknown duration type in add: " + d.getClass()); } }
@Override public Duration resolve(Time refTime, int flags) { Instant instant = (refTime != null) ? refTime.getJodaTimeInstant() : null; if (instant != null) { if ((flags & DUR_RESOLVE_FROM_AS_REF) != 0) { return new DurationWithMillis(this, period.toPeriod().toDurationFrom(instant)); } else if ((flags & DUR_RESOLVE_TO_AS_REF) != 0) { return new DurationWithMillis(this, period.toPeriod().toDurationTo(instant)); } } return this; }
@Override public Duration add(Duration d) { if (d instanceof DurationWithMillis) { return new DurationWithMillis(this, base.toDuration().plus(((DurationWithMillis) d).base)); } else if (d instanceof DurationWithFields) { return ((DurationWithFields) d).add(this); } else { throw new UnsupportedOperationException("Unknown duration type in add: " + d.getClass()); } }
@Override public Duration multiplyBy(int m) { if (m == 1) { return this; } else { long ms = base.getMillis(); return new DurationWithMillis(ms * m); } }
@Override public Duration divideBy(int m) { if (m == 1) { return this; } else { long ms = base.getMillis(); return new DurationWithMillis(ms / m); } }
public Duration divideBy(int m) { if (m == 1) { return this; } else { long ms = base.getMillis(); return new DurationWithMillis(ms / m); } }
public static Duration difference(Time t1, Time t2) { // TODO: Difference does not work between days of the week // Get duration from this t1 to t2 if (t1 == null || t2 == null) return null; Instant i1 = t1.getJodaTimeInstant(); Instant i2 = t2.getJodaTimeInstant(); if (i1 == null || i2 == null) return null; Duration d = new DurationWithMillis(i2.getMillis() - i1.getMillis()); Duration g1 = t1.getGranularity(); Duration g2 = t2.getGranularity(); Duration g = Duration.max(g1, g2); if (g != null) { Period p = g.getJodaTimePeriod(); p = p.normalizedStandard(); Period p2 = JodaTimeUtils.discardMoreSpecificFields(d.getJodaTimePeriod(), p.getFieldType(p.size() - 1), i1.getChronology()); return new DurationWithFields(p2); } else { return d; } }