private static DateTimeFormatter hourMinuteSecondMillis() { if (hmsl == null) { return new DateTimeFormatterBuilder() .append(hourElement()) .append(minuteElement()) .append(secondElement()) .appendLiteral('.') .appendFractionOfSecond(3, 3) .toFormatter(); } return hmsl; }
private static DateTimeFormatter dateTime() { if (dt == null) { return new DateTimeFormatterBuilder() .append(date()) .append(tTime()) .toFormatter(); } return dt; }
DateTimeParser decimalPoint = new DateTimeFormatterBuilder() .append(null, new DateTimeParser[] { new DateTimeFormatterBuilder() .appendLiteral('.') .toParser(), new DateTimeFormatterBuilder() .appendLiteral(',') .toParser() .append(hourElement()) .append .append(minuteElement()) .append .append(secondElement()) .append(decimalPoint) .appendFractionOfSecond(1, 9) .toParser()) .append(decimalPoint) .appendFractionOfMinute(1, 9) .toParser(), .append(decimalPoint) .appendFractionOfHour(1, 9) .toParser(), null
private static DateTimeFormatter ordinalDateTimeNoMillis() { if (odtx == null) { return new DateTimeFormatterBuilder() .append(ordinalDate()) .append(tTimeNoMillis()) .toFormatter(); } return odtx; }
private static DateTimeFormatter hourMinuteSecondMillis() { if (hmsl == null) { return new DateTimeFormatterBuilder() .append(hourElement()) .append(minuteElement()) .append(secondElement()) .appendLiteral('.') .appendFractionOfSecond(3, 3) .toFormatter(); } return hmsl; }
DateTimeParser decimalPoint = new DateTimeFormatterBuilder() .append(null, new DateTimeParser[] { new DateTimeFormatterBuilder() .appendLiteral('.') .toParser(), new DateTimeFormatterBuilder() .appendLiteral(',') .toParser() .append(hourElement()) .append .append(minuteElement()) .append .append(secondElement()) .append(decimalPoint) .appendFractionOfSecond(1, 9) .toParser()) .append(decimalPoint) .appendFractionOfMinute(1, 9) .toParser(), .append(decimalPoint) .appendFractionOfHour(1, 9) .toParser(), null
private static DateTimeFormatter weekyearWeek() { if (ww == null) { return new DateTimeFormatterBuilder() .append(weekyearElement()) .append(weekElement()) .toFormatter(); } return ww; }
private static DateTimeFormatter dateParser() { if (dp == null) { DateTimeParser tOffset = new DateTimeFormatterBuilder() .appendLiteral('T') .append(offsetElement()).toParser(); return new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(tOffset) .toFormatter(); } return dp; }
private static DateTimeFormatter weekyearWeekDay() { if (wwd == null) { return new DateTimeFormatterBuilder() .append(weekyearElement()) .append(weekElement()) .append(dayOfWeekElement()) .toFormatter(); } return wwd; }
private static DateTimeFormatter dateParser() { if (dp == null) { DateTimeParser tOffset = new DateTimeFormatterBuilder() .appendLiteral('T') .append(offsetElement()).toParser(); return new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(tOffset) .toFormatter(); } return dp; }
private static DateTimeFormatter hourMinuteSecondFraction() { if (hmsf == null) { return new DateTimeFormatterBuilder() .append(hourElement()) .append(minuteElement()) .append(secondElement()) .append(fractionElement()) .toFormatter(); } return hmsf; }
/** * Accepts our ElasticSearch time formats without milliseconds. * * @return A DateTimeFormatter suitable to parse an ES_DATE_FORMAT formatted string to a * DateTime Object even if it contains no milliseconds. */ public static DateTimeFormatter timeFormatterWithOptionalMilliseconds() { // This is the .SSS part DateTimeParser ms = new DateTimeFormatterBuilder() .appendLiteral(".") .appendFractionOfSecond(1, 3) .toParser(); return new DateTimeFormatterBuilder() .append(DateTimeFormat.forPattern(ES_DATE_FORMAT_NO_MS).withZoneUTC()) .appendOptional(ms) .toFormatter(); }
private static DateTimeFormatter time() { if (t == null) { return new DateTimeFormatterBuilder() .append(hourMinuteSecondFraction()) .append(offsetElement()) .toFormatter(); } return t; }
private static DateTimeFormatter localDateOptionalTimeParser() { if (ldotp == null) { DateTimeParser time = new DateTimeFormatterBuilder() .appendLiteral('T') .append(timeElementParser()) .toParser(); return new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(time) .toFormatter().withZoneUTC(); } return ldotp; }
private static DateTimeFormatter tTime() { if (tt == null) { return new DateTimeFormatterBuilder() .append(literalTElement()) .append(time()) .toFormatter(); } return tt; }
private static DateTimeFormatter localDateOptionalTimeParser() { if (ldotp == null) { DateTimeParser time = new DateTimeFormatterBuilder() .appendLiteral('T') .append(timeElementParser()) .toParser(); return new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(time) .toFormatter().withZoneUTC(); } return ldotp; }
private static DateTimeFormatter tTimeNoMillis() { if (ttx == null) { return new DateTimeFormatterBuilder() .append(literalTElement()) .append(timeNoMillis()) .toFormatter(); } return ttx; }
DateTimeFormatterBuilder dtfb = new DateTimeFormatterBuilder(); dtfb.append(DateTimeFormatter.ISO_LOCAL_DATE); dtfb.appendLiteral(' '); dtfb.append(DateTimeFormatter.ISO_LOCAL_TIME); DateTimeFormatter dtf = dtfb.toFormatter(); ZoneId shanghai = ZoneId.of("Asia/Shanghai"); String str3 = "1927-12-31 23:54:07"; String str4 = "1927-12-31 23:54:08"; ZonedDateTime zdt3 = LocalDateTime.parse(str3, dtf).atZone(shanghai); ZonedDateTime zdt4 = LocalDateTime.parse(str4, dtf).atZone(shanghai); Duration durationAtEarlierOffset = Duration.between(zdt3.withEarlierOffsetAtOverlap(), zdt4.withEarlierOffsetAtOverlap()); Duration durationAtLaterOffset = Duration.between(zdt3.withLaterOffsetAtOverlap(), zdt4.withLaterOffsetAtOverlap());
private static DateTimeFormatter basicTTimeNoMillis() { if (bttx == null) { return new DateTimeFormatterBuilder() .append(literalTElement()) .append(basicTimeNoMillis()) .toFormatter(); } return bttx; }
private static DateTimeFormatter dateOptionalTimeParser() { if (dotp == null) { DateTimeParser timeOrOffset = new DateTimeFormatterBuilder() .appendLiteral('T') .appendOptional(timeElementParser().getParser()) .appendOptional(offsetElement().getParser()) .toParser(); return new DateTimeFormatterBuilder() .append(dateElementParser()) .appendOptional(timeOrOffset) .toFormatter(); } return dotp; }