public Calendar tryParseCalendar()

in src/main/java/org/apache/sling/jcr/contentparser/impl/ParserHelper.java [71:91]


    public Calendar tryParseCalendar(String value) {
        if (options.isDetectCalendarValues() && !StringUtils.isBlank(value)) {
            // 1st try: parse with ISO-8601 format first
            Calendar calendar = ISO8601.parse(value);
            if (calendar != null) {
                return calendar;
            }
            // 2nd try: parse with ECMA date format which is used by Sling GET servlet
            calendar = Calendar.getInstance();
            try {
                final OffsetDateTime offsetDateTime = OffsetDateTime.parse(value, calendarFormat);
                final Instant instant = offsetDateTime.toInstant();
                calendar.setTime(Date.from(instant));
                calendar.setTimeZone(TimeZone.getTimeZone(offsetDateTime.getOffset()));
                return calendar;
            } catch (DateTimeParseException ex) {
                // ignore
            }
        }
        return null;
    }