private static DayCycles addToWithOverflow( PlainTime context, long amount, ClockUnit unit ) { if ((amount == 0) && (context.hour < 24)) { return new DayCycles(0, context); } return doAdd(DayCycles.class, unit, context, amount); }
@Override public PlainTimestamp addTo( PlainTimestamp timepoint, long amount ) { PlainDate d; PlainTime t; if (this.calendarUnit != null) { d = timepoint.date.plus(amount, this.calendarUnit); t = timepoint.time; } else { DayCycles cycles = timepoint.time.roll(amount, this.clockUnit); d = timepoint.date.plus(cycles.getDayOverflow(), DAYS); t = cycles.getWallTime(); } return PlainTimestamp.of(d, t); }
} else { long cycles = MathUtils.floorDivide(hours, 24); return returnType.cast(new DayCycles(cycles, time));