@ScalarFunction("from_iso8601_date") @LiteralParameters("x") @SqlType(StandardTypes.DATE) public static long fromISO8601Date(ConnectorSession session, @SqlType("varchar(x)") Slice iso8601DateTime) { DateTimeFormatter formatter = ISODateTimeFormat.dateElementParser() .withChronology(UTC_CHRONOLOGY); DateTime dateTime = parseDateTimeHelper(formatter, iso8601DateTime.toStringUtf8()); return MILLISECONDS.toDays(dateTime.getMillis()); }
.append(ISODateTimeFormat.dateElementParser()) .appendOptional(timeOrOffset) .toFormatter()
private static DateTimeFormatter createAutoParser() { final DateTimeFormatter offsetElement = new DateTimeFormatterBuilder() .appendTimeZoneOffset("Z", true, 2, 4) .toFormatter(); DateTimeParser timeOrOffset = new DateTimeFormatterBuilder() .append( null, new DateTimeParser[]{ new DateTimeFormatterBuilder().appendLiteral('T').toParser(), new DateTimeFormatterBuilder().appendLiteral(' ').toParser() } ) .appendOptional(ISODateTimeFormat.timeElementParser().getParser()) .appendOptional(offsetElement.getParser()) .toParser(); return new DateTimeFormatterBuilder() .append(ISODateTimeFormat.dateElementParser()) .appendOptional(timeOrOffset) .toFormatter(); } }
private static DateTimeFormatter createAutoParser() { final DateTimeFormatter offsetElement = new DateTimeFormatterBuilder().appendTimeZoneOffset("Z", true, 2, 4).toFormatter(); DateTimeParser timeOrOffset = new DateTimeFormatterBuilder().append(null, new DateTimeParser[] {new DateTimeFormatterBuilder().appendLiteral('T').toParser(), new DateTimeFormatterBuilder().appendLiteral(' ').toParser()}) .appendOptional(ISODateTimeFormat.timeElementParser().getParser()) .appendOptional(offsetElement.getParser()) .toParser(); return new DateTimeFormatterBuilder().append(ISODateTimeFormat.dateElementParser()) .appendOptional(timeOrOffset) .toFormatter(); } }
/** * Returns a generic ISO date parser for parsing local dates. * This parser is initialised with the local (UTC) time zone. * <p> * It accepts formats described by the following syntax: * <pre> * date-element = std-date-element | ord-date-element | week-date-element * std-date-element = yyyy ['-' MM ['-' dd]] * ord-date-element = yyyy ['-' DDD] * week-date-element = xxxx '-W' ww ['-' e] * </pre> * @since 1.3 */ public static DateTimeFormatter localDateParser() { if (ldp == null) { ldp = dateElementParser().withZoneUTC(); } return ldp; }
/** * Returns a generic ISO date parser for parsing dates with a possible zone. * <p> * It accepts formats described by the following syntax: * <pre> * date = date-element ['T' offset] * date-element = std-date-element | ord-date-element | week-date-element * std-date-element = yyyy ['-' MM ['-' dd]] * ord-date-element = yyyy ['-' DDD] * week-date-element = xxxx '-W' ww ['-' e] * offset = 'Z' | (('+' | '-') HH [':' mm [':' ss [('.' | ',') SSS]]]) * </pre> */ public static DateTimeFormatter dateParser() { if (dp == null) { DateTimeParser tOffset = new DateTimeFormatterBuilder() .appendLiteral('T') .append(offsetElement()).toParser(); dp = new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(tOffset) .toFormatter(); } return dp; }
.toParser(); ldotp = new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(time) .toFormatter().withZoneUTC();
/** * Returns a generic ISO date parser for parsing local dates. * This parser is initialised with the local (UTC) time zone. * <p> * It accepts formats described by the following syntax: * <pre> * date-element = std-date-element | ord-date-element | week-date-element * std-date-element = yyyy ['-' MM ['-' dd]] * ord-date-element = yyyy ['-' DDD] * week-date-element = xxxx '-W' ww ['-' e] * </pre> * @since 1.3 */ public static DateTimeFormatter localDateParser() { if (ldp == null) { ldp = dateElementParser().withZone(DateTimeZone.UTC); } return ldp; }
.toParser(); dotp = new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(timeOrOffset) .toFormatter();
/** * Returns a generic ISO date parser for parsing local dates. * This parser is initialised with the local (UTC) time zone. * <p> * It accepts formats described by the following syntax: * <pre> * date-element = std-date-element | ord-date-element | week-date-element * std-date-element = yyyy ['-' MM ['-' dd]] * ord-date-element = yyyy ['-' DDD] * week-date-element = xxxx '-W' ww ['-' e] * </pre> * @since 1.3 */ public static DateTimeFormatter localDateParser() { if (ldp == null) { ldp = dateElementParser().withZoneUTC(); } return ldp; }
@ScalarFunction("from_iso8601_date") @SqlType(StandardTypes.DATE) public static long fromISO8601Date(ConnectorSession session, @SqlType(StandardTypes.VARCHAR) Slice iso8601DateTime) { DateTimeFormatter formatter = ISODateTimeFormat.dateElementParser() .withChronology(UTC_CHRONOLOGY); DateTime dateTime = parseDateTimeHelper(formatter, iso8601DateTime.toStringUtf8()); return MILLISECONDS.toDays(dateTime.getMillis()); }
@ScalarFunction("from_iso8601_date") @LiteralParameters("x") @SqlType(StandardTypes.DATE) public static long fromISO8601Date(ConnectorSession session, @SqlType("varchar(x)") Slice iso8601DateTime) { DateTimeFormatter formatter = ISODateTimeFormat.dateElementParser() .withChronology(UTC_CHRONOLOGY); DateTime dateTime = parseDateTimeHelper(formatter, iso8601DateTime.toStringUtf8()); return MILLISECONDS.toDays(dateTime.getMillis()); }
@ScalarFunction("from_iso8601_date") @LiteralParameters("x") @SqlType(StandardTypes.DATE) public static long fromISO8601Date(ConnectorSession session, @SqlType("varchar(x)") Slice iso8601DateTime) { DateTimeFormatter formatter = ISODateTimeFormat.dateElementParser() .withChronology(UTC_CHRONOLOGY); DateTime dateTime = parseDateTimeHelper(formatter, iso8601DateTime.toStringUtf8()); return MILLISECONDS.toDays(dateTime.getMillis()); }
/** * Returns a generic ISO date parser for parsing dates with a possible zone. * It accepts formats described by the following syntax: * <pre> * date = date-element ['T' offset] * date-element = std-date-element | ord-date-element | week-date-element * std-date-element = yyyy ['-' MM ['-' dd]] * ord-date-element = yyyy ['-' DDD] * week-date-element = xxxx '-W' ww ['-' e] * offset = 'Z' | (('+' | '-') HH [':' mm [':' ss [('.' | ',') SSS]]]) * </pre> */ public static DateTimeFormatter dateParser() { if (dp == null) { DateTimeParser tOffset = new DateTimeFormatterBuilder() .appendLiteral('T') .append(offsetElement()).toParser(); dp = new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(tOffset) .toFormatter(); } return dp; }
/** * Returns a generic ISO date parser for parsing dates with a possible zone. * <p> * It accepts formats described by the following syntax: * <pre> * date = date-element ['T' offset] * date-element = std-date-element | ord-date-element | week-date-element * std-date-element = yyyy ['-' MM ['-' dd]] * ord-date-element = yyyy ['-' DDD] * week-date-element = xxxx '-W' ww ['-' e] * offset = 'Z' | (('+' | '-') HH [':' mm [':' ss [('.' | ',') SSS]]]) * </pre> */ public static DateTimeFormatter dateParser() { if (dp == null) { DateTimeParser tOffset = new DateTimeFormatterBuilder() .appendLiteral('T') .append(offsetElement()).toParser(); dp = new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(tOffset) .toFormatter(); } return dp; }
.append(ISODateTimeFormat.dateElementParser()) .appendOptional(timeOrOffset) .toFormatter()
.append(ISODateTimeFormat.dateElementParser()) .appendOptional(timeOrOffset) .toFormatter()
private static DateTimeFormatter createAutoParser() { final DateTimeFormatter offsetElement = new DateTimeFormatterBuilder().appendTimeZoneOffset("Z", true, 2, 4).toFormatter(); DateTimeParser timeOrOffset = new DateTimeFormatterBuilder().append(null, new DateTimeParser[] {new DateTimeFormatterBuilder().appendLiteral('T').toParser(), new DateTimeFormatterBuilder().appendLiteral(' ').toParser()}) .appendOptional(ISODateTimeFormat.timeElementParser().getParser()) .appendOptional(offsetElement.getParser()) .toParser(); return new DateTimeFormatterBuilder().append(ISODateTimeFormat.dateElementParser()) .appendOptional(timeOrOffset) .toFormatter(); } }
private static DateTimeFormatter createAutoParser() { final DateTimeFormatter offsetElement = new DateTimeFormatterBuilder() .appendTimeZoneOffset("Z", true, 2, 4) .toFormatter(); DateTimeParser timeOrOffset = new DateTimeFormatterBuilder() .append( null, new DateTimeParser[]{ new DateTimeFormatterBuilder().appendLiteral('T').toParser(), new DateTimeFormatterBuilder().appendLiteral(' ').toParser() } ) .appendOptional(ISODateTimeFormat.timeElementParser().getParser()) .appendOptional(offsetElement.getParser()) .toParser(); return new DateTimeFormatterBuilder() .append(ISODateTimeFormat.dateElementParser()) .appendOptional(timeOrOffset) .toFormatter(); } }
private static DateTimeFormatter createAutoParser() { final DateTimeFormatter offsetElement = new DateTimeFormatterBuilder() .appendTimeZoneOffset("Z", true, 2, 4) .toFormatter(); DateTimeParser timeOrOffset = new DateTimeFormatterBuilder() .append( null, new DateTimeParser[]{ new DateTimeFormatterBuilder().appendLiteral('T').toParser(), new DateTimeFormatterBuilder().appendLiteral(' ').toParser() } ) .appendOptional(ISODateTimeFormat.timeElementParser().getParser()) .appendOptional(offsetElement.getParser()) .toParser(); return new DateTimeFormatterBuilder() .append(ISODateTimeFormat.dateElementParser()) .appendOptional(timeOrOffset) .toFormatter(); } }