static ZoneId parseZoneName( String zoneName ) { ZoneId parsedName; try { parsedName = ZONE_NAME_PARSER.parse( zoneName.replace( ' ', '_' ) ).query( TemporalQueries.zoneId() ); } catch ( DateTimeParseException e ) { throw new TemporalParseException( "Invalid value for TimeZone: " + e.getMessage(), e.getParsedString(), e.getErrorIndex(), e ); } return parsedName; }
public static ZoneId parseZoneOffsetOrZoneName( String zoneName ) { Matcher matcher = OFFSET.matcher( zoneName ); if ( matcher.matches() ) { return parseOffset( matcher ); } try { return ZONE_NAME_PARSER.parse( zoneName.replace( ' ', '_' ) ).query( TemporalQueries.zoneId() ); } catch ( DateTimeParseException e ) { throw new TemporalParseException( "Invalid value for TimeZone: " + e.getMessage(), e.getParsedString(), e.getErrorIndex(), e ); } }
try { TemporalAccessor datetime = formatter.parse(value); ZoneId parsedTimezone = datetime.query(TemporalQueries.zoneId()); ZoneOffset parsedOffset = datetime.query(TemporalQueries.offset()); if (parsedTimezone != null) {
private OffsetDateTime buildOffsetDateTime(final TemporalAccessor given) throws TimestampParseException { final ZoneId givenZoneId = given.query(TemporalQueries.zoneId()); if (givenZoneId != null) { throw new TimestampParseException("Non-offset zone IDs are unaccepted in 'java:' formats: " + this.pattern);
public ZoneId queryFrom(TemporalAccessor temporal) { ZoneId zone = temporal.query(TemporalQueries.zoneId()); return (zone != null && zone instanceof ZoneOffset == false ? zone : null); } };
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.zoneId()) { return (R) ZoneId.this; } return super.query(query); } });
@Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.zoneId() || query == TemporalQueries.chronology() || query == TemporalQueries.precision()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.chronology()) { return (R) chrono; } if (query == TemporalQueries.zoneId() || query == TemporalQueries.zone()) { return (R) zone; } return super.query(query); }
static ZoneId parseZoneName( String zoneName ) { ZoneId parsedName; try { parsedName = ZONE_NAME_PARSER.parse( zoneName.replace( ' ', '_' ) ).query( TemporalQueries.zoneId() ); } catch ( DateTimeParseException e ) { throw new TemporalParseException( "Invalid value for TimeZone: " + e.getMessage(), e.getParsedString(), e.getErrorIndex(), e ); } return parsedName; }
public static ZoneId parseZoneOffsetOrZoneName( String zoneName ) { Matcher matcher = OFFSET.matcher( zoneName ); if ( matcher.matches() ) { return parseOffset( matcher ); } try { return ZONE_NAME_PARSER.parse( zoneName.replace( ' ', '_' ) ).query( TemporalQueries.zoneId() ); } catch ( DateTimeParseException e ) { throw new TemporalParseException( "Invalid value for TimeZone: " + e.getMessage(), e.getParsedString(), e.getErrorIndex(), e ); } }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.chronology()) { return (R) effectiveChrono; } if (query == TemporalQueries.zoneId()) { return (R) effectiveZone; } if (query == TemporalQueries.precision()) { return temporal.query(query); } return query.queryFrom(this); } };
/** * Returns the {@link ZoneId} of the given temporal. * If the temporal supports {@link java.time.temporal.ChronoField#OFFSET_SECONDS}, those will be used to define the zone. * Otherwise the temporal will be queried for the zone. Should no zone be provided, {@link ZoneId#systemDefault()} will be used. * * @param temporal to retrieve the ZoneId of * @return the ZoneId. */ private ZoneId getZoneId( TemporalAccessor temporal ) { if ( temporal.isSupported( OFFSET_SECONDS ) ) { return ZoneOffset.ofTotalSeconds( Math.toIntExact( temporal.getLong( OFFSET_SECONDS ) ) ); } ZoneId zone = temporal.query( TemporalQueries.zoneId() ); return ZoneOffset.of( zone != null ? zone.getId() : zoneId.getId(), ZoneId.SHORT_IDS ); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.precision()) { return (R) ChronoUnit.ERAS; } if (query == TemporalQueries.chronology() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset() || query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); }
@Test public void queries() { assertEquals(DAYS, LocalDate.now().query(precision())); assertEquals(NANOS, LocalTime.now().query(precision())); ZoneOffset offset = ZonedDateTime.now().getOffset(); ZoneOffset query = ZonedDateTime.now().query(offset()); assertEquals(offset, query); assertEquals(ZoneId.systemDefault(), ZonedDateTime.now().query(zone())); assertEquals(ZoneId.systemDefault(), ZonedDateTime.now().query(zoneId())); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.chronology()) { return (R) getChronology(); } else if (query == TemporalQueries.precision()) { return (R) ChronoUnit.DAYS; } else if (query == TemporalQueries.localDate()) { return (R) LocalDate.ofEpochDay(toEpochDay()); } else if (query == TemporalQueries.localTime() || query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset()) { return null; } return super.query(query); }
@SuppressWarnings("unchecked") @Override public <R> R query(TemporalQuery<R> query) { if (query == TemporalQueries.chronology()) { return (R) getChronology(); } else if (query == TemporalQueries.precision()) { return (R) NANOS; } else if (query == TemporalQueries.localDate()) { return (R) LocalDate.ofEpochDay(toLocalDate().toEpochDay()); } else if (query == TemporalQueries.localTime()) { return (R) toLocalTime(); } else if (query == TemporalQueries.zone() || query == TemporalQueries.zoneId() || query == TemporalQueries.offset()) { return null; } return super.query(query); }