@Override public TimeLine<PlainDate> getTimeLine() { return PlainDate.axis(); }
@Override TimeLine<PlainDate> getTimeLine() { return PlainDate.axis(); }
/** * <p>Creates an interval tree on the date axis filled with given date intervals. </p> * * @param <I> the type of intervals stored in the tree * @param intervals collection of date intervals * @return new interval tree * @throws ArithmeticException if the count of intervals overflows an int */ /*[deutsch] * <p>Erzeugt einen Intervallbaum auf der Datumsachse gefüllt mit den angegebenen Datumsintervallen. </p> * * @param <I> the type of intervals stored in the tree * @param intervals collection of date intervals * @return new interval tree * @throws ArithmeticException if the count of intervals overflows an int */ public static <I extends ChronoInterval<PlainDate>> IntervalTree<PlainDate, I> onDateAxis( Collection<I> intervals ) { return IntervalTree.onTimeLine(PlainDate.axis(), intervals); }
@Override public SpanOfWeekdays createFrom( TimeSource<?> clock, AttributeQuery attributes ) { PlainDate date = PlainDate.axis().createFrom(clock, attributes); if (date == null) { return null; } else { Weekday dow = date.getDayOfWeek(); return SpanOfWeekdays.between(dow, dow); } }
public DefaultLeapSecondProviderSPI() { super(); PlainDate tmpExpires = PlainDate.axis().getMinimum(); this.table = new LinkedHashMap<>(50); String name = PATH_TO_LEAPSECONDS;
@Override public PlainTimestamp createFrom( TemporalAccessor threeten, AttributeQuery attributes ) { PlainDate date = PlainDate.axis().createFrom(threeten, attributes); PlainTime time = PlainTime.axis().createFrom(threeten, attributes); if ((date != null) && (time != null)) { return PlainTimestamp.of(date, time); } return null; }
@Override protected PlainDate parseReducedEnd( CharSequence text, PlainDate start, ParseLog lowerLog, ParseLog upperLog, AttributeQuery attrs ) { ChronoFormatter<PlainDate> reducedParser = this.createEndFormat( PlainDate.axis().preformat(start, attrs), lowerLog.getRawValues()); return reducedParser.parse(text, upperLog); }
/** * <p>Yields an empty instance for intervals on given timeline. </p> * * @return empty generic {@code IntervalCollection} * @see net.time4j.engine.TimeAxis * @see net.time4j.engine.CalendarFamily#getTimeLine(String) * @since 3.25/4.21 */ /*[deutsch] * <p>Liefert eine leere Instanz für Intervalle auf dem angegebenen Zeitstrahl. </p> * * @return empty generic {@code IntervalCollection} * @see net.time4j.engine.TimeAxis * @see net.time4j.engine.CalendarFamily#getTimeLine(String) * @since 3.25/4.21 */ @SuppressWarnings("unchecked") public static <T> IntervalCollection<T> onTimeLine(TimeLine<T> timeLine) { if (timeLine.equals(PlainDate.axis())) { return (IntervalCollection<T>) onDateAxis(); } else if (timeLine.equals(PlainTime.axis())) { return (IntervalCollection<T>) onClockAxis(); } else if (timeLine.equals(PlainTimestamp.axis())) { return (IntervalCollection<T>) onTimestampAxis(); } else if (timeLine.equals(Moment.axis())) { return (IntervalCollection<T>) onMomentAxis(); } return new GenericWindows<>(timeLine, Collections.emptyList()); }
private static void registerExtensions( TimeAxis.Builder<IsoUnit, PlainTimestamp> builder ) { for (ChronoExtension extension : PlainDate.axis().getExtensions()) { builder.appendExtension(extension); } for (ChronoExtension extension : PlainTime.axis().getExtensions()) { builder.appendExtension(extension); } }
ChronoPrinter<PlainDate> printer = Iso8601Format.ofDate(dateStyle); if (interval.getStart().isInfinite()) { buffer.append(infinityStyle.displayPast(printer, PlainDate.axis())); } else { printer.print(interval.getStartAsCalendarDate(), buffer); buffer.append(infinityStyle.displayFuture(printer, PlainDate.axis())); } else { printer.print(interval.getEndAsCalendarDate(), buffer);
@Override public PlainDate translate(java.sql.Date source) { long millis = source.getTime(); // UTC zone if (!WITH_SQL_UTC_CONVERSION) { Moment unixTime = Moment.of( MathUtils.floorDivide(millis, 1000), TimeScale.POSIX); ZonalOffset offset = Timezone.ofSystem().getOffset(unixTime); millis += offset.getIntegralAmount() * 1000; } return PlainDate.axis().getCalendarSystem().transform( MathUtils.floorDivide(millis, 86400 * 1000) - 2 * 365 ); }
PlainDate start = interval.getStartAsCalendarDate(); if (interval.getStart().isInfinite()) { buffer.append(infinityStyle.displayPast(printer, PlainDate.axis())); } else { printer.print(start, buffer); getEndPrinter(dateStyle, start, end).print(end, buffer); } else if (interval.getEnd().isInfinite()) { buffer.append(infinityStyle.displayFuture(printer, PlainDate.axis())); } else { printer.print(end, buffer);
@Override public Weekday getMinimum(T context) { PlainDate date = context.get(CALENDAR_DATE); int oldNum = date.getDayOfWeek().getValue(this.element.getModel()); if (date.getDaysSinceEpochUTC() + 1 - oldNum < PlainDate.axis().getCalendarSystem().getMinimumSinceUTC()) { return PlainDate.MIN.getDayOfWeek(); } return this.element.getDefaultMinimum(); }
@Override public Weekday getMaximum(T context) { PlainDate date = context.get(CALENDAR_DATE); int oldNum = date.getDayOfWeek().getValue(this.element.getModel()); if (date.getDaysSinceEpochUTC() + 7 - oldNum > PlainDate.axis().getCalendarSystem().getMaximumSinceUTC()) { return PlainDate.MAX.getDayOfWeek(); } return this.element.getDefaultMaximum(); }
@Override public boolean isBefore(ChronoInterval<PlainDate> other) { if (other.getStart().isInfinite()) { return false; } PlainDate endA = this.getEnd().getTemporal(); PlainDate startB = other.getStart().getTemporal(); if (other.getStart().isOpen()) { if (startB.equals(PlainDate.axis().getMaximum())) { return true; } startB = startB.plus(1, CalendarUnit.DAYS); } return endA.isBefore(startB); }
date = entity.get(CALENDAR_DATE); } else { date = PlainDate.axis().createFrom(entity, attributes, lenient, false);
@Override public boolean contains(ChronoInterval<PlainDate> other) { if (!other.isFinite()) { return false; } PlainDate startA = this.getStart().getTemporal(); PlainDate startB = other.getStart().getTemporal(); if (other.getStart().isOpen()) { if (startB.equals(PlainDate.axis().getMaximum())) { return false; } startB = startB.plus(1, CalendarUnit.DAYS); } if (startA.isAfter(startB)) { return false; } PlainDate endA = this.getEnd().getTemporal(); PlainDate endB = other.getEnd().getTemporal(); if (other.getEnd().isOpen()) { if (startB.isSimultaneous(endB)) { return !startB.isAfter(endA); } else if (endB.equals(PlainDate.axis().getMinimum())) { return false; } endB = endB.minus(1, CalendarUnit.DAYS); } return !endA.isBefore(endB); }
new IntervalComparator<>(PlainDate.axis()); private static final ChronoPrinter<PlainDate> REDUCED_DD = ChronoFormatter.ofDatePattern("dd", PatternType.CLDR, Locale.ROOT);