protected boolean isValidDate(Chronology chrono, LocalDate date) { try { if (date != null) { chrono.date(date); } return true; } catch (DateTimeException ex) { return false; } } }
@Override protected ChronoLocalDate chronoLocalDateOf(final MinguoEra era, final int prolepticYear, final int month, final int dayOfMonth) { return MinguoDate.of(prolepticYear, month, dayOfMonth); }
@Override public String toString(final Object obj) { return obj == null ? null : ((Chronology)obj).getId(); } }
Date.from(java.time.ZonedDateTime.now().toInstant());
public static boolean isLeapYear(int packedDate) { return IsoChronology.INSTANCE.isLeapYear(getYear(packedDate)); }
@Override protected ChronoLocalDate chronoLocalDateOf(final HijrahEra era, final int prolepticYear, final int month, final int dayOfMonth) { return era != null ? HijrahDate.of(prolepticYear, month, dayOfMonth) : null; }
@Override protected ChronoLocalDate chronoLocalDateOf(final JapaneseEra era, final int prolepticYear, final int month, final int dayOfMonth) { return JapaneseDate.of(era, prolepticYear, month, dayOfMonth); }
@Override protected ChronoLocalDate chronoLocalDateOf(final ThaiBuddhistEra era, final int prolepticYear, final int month, final int dayOfMonth) { return ThaiBuddhistDate.of(prolepticYear, month, dayOfMonth); }
/** * Constructs a HijrahDateConverter instance. */ public HijrahDateConverter() { hijrahChronologies = new HashSet<>(); final Set<Chronology> chronologies = Chronology.getAvailableChronologies(); for (final Chronology chronology : chronologies) { if (chronology instanceof HijrahChronology) { hijrahChronologies.add(chronology); } } }
@Override public Chronology fromString(final String str) { if (str == null) { return null; } try { return Chronology.of(str); } catch (final DateTimeException e) { final ConversionException exception = new ConversionException("Cannot parse value as chronology", e); exception.add("value", str); throw exception; } }
@Override protected JapaneseEra eraOf(final String id) { return JapaneseEra.valueOf(id); }
@Override protected ThaiBuddhistEra eraOf(final String id) { return ThaiBuddhistEra.valueOf(id); }
@Override protected HijrahEra eraOf(final String id) { return HijrahEra.valueOf(id); }
@Override protected MinguoEra eraOf(final String id) { return MinguoEra.valueOf(id); }
private void write(SerializeWriter out, TemporalAccessor object, String format) { DateTimeFormatter formatter; if ("unixtime".equals(format) && object instanceof ChronoZonedDateTime) { long seconds = ((ChronoZonedDateTime) object).toEpochSecond(); out.writeInt((int) seconds); return; } if (format == formatter_iso8601_pattern) { formatter = formatter_iso8601; } else { formatter = DateTimeFormatter.ofPattern(format); } String text = formatter.format((TemporalAccessor) object); out.writeString(text); } }
private static void appendEra(StringBuilder sb, LocalDate localDate) { if (localDate.get(ChronoField.ERA) == IsoEra.BCE.getValue()) { sb.append(" BC"); } } //JCP! endif
private String formatMonth(YearMonth yearMonth) { try { Chronology chrono = getPrimaryChronology(); ChronoLocalDate cDate = chrono.date(yearMonth.atDay(1)); return monthFormatter.withLocale(getLocale()).withChronology(chrono).format(cDate); } catch (DateTimeException ex) { // Date is out of range. return ""; } }
private static int resolvePreviousValid(int year, int month, int day) { switch (month) { case 2: day = Math.min(day, IsoChronology.INSTANCE.isLeapYear(year) ? 29 : 28); break; case 4: case 6: case 9: case 11: day = Math.min(day, 30); break; } return pack((short) year, (byte) month, (byte) day); }
@Override public JapaneseEra fromString(final String str) { if (str == null) { return null; } try { return JapaneseEra.valueOf(str); } catch (final IllegalArgumentException e) { final ConversionException exception = new ConversionException("Cannot parse value as Japanese era", e); exception.add("value", str); throw exception; } } }
public static boolean isLeapYear(long packedDateTime) { if (packedDateTime == missingValueIndicator()) return false; return IsoChronology.INSTANCE.isLeapYear(getYear(packedDateTime)); }