@Override public Value add(Value v) { ValueTimestamp t = (ValueTimestamp) v.convertTo(TIMESTAMP); long d1 = DateTimeUtils.absoluteDayFromDateValue(dateValue); long d2 = DateTimeUtils.absoluteDayFromDateValue(t.dateValue); return DateTimeUtils.normalizeTimestamp(d1 + d2, timeNanos + t.timeNanos); }
@Override public Value subtract(Value v) { ValueTimestamp t = (ValueTimestamp) v.convertTo(TIMESTAMP); long d1 = DateTimeUtils.absoluteDayFromDateValue(dateValue); long d2 = DateTimeUtils.absoluteDayFromDateValue(t.dateValue); return DateTimeUtils.normalizeTimestamp(d1 - d2, timeNanos - t.timeNanos); }
switch (getType()) { case TIME: return DateTimeUtils.normalizeTimestamp( 0, ((ValueTime) this).getNanos()); case DATE: