public LocalDate toLocalDate(String date) { try { return LocalDate.parse(date); } catch (Exception ignored) {} if (StringUtils.isBlank(date)) { return null; } date = sanitize(date); if (date.contains("T")) { date = date.substring(0, date.indexOf('T')); return LocalDate.parse(date); } else { return LocalDate.parse(date); } } public LocalDate toLocalDate(long date) {
public LocalDateTime toLocalDateTime(String date) { try { return LocalDateTime.parse(date); } catch (Exception ignored) {} if (date == null) { return null; } date = sanitize(date); if (date.contains("T") == false) { date = date + "T" + LocalTime.MIDNIGHT; } int pos = date.indexOf("T"); int zonePos = date.indexOf("-", pos); if (zonePos >= 0 || date.toUpperCase().endsWith("Z")) { return toZonedDateTime(date).toLocalDateTime(); } else { return LocalDateTime.parse(date); } }
public LocalTime toLocalTime(String date) { try { return LocalTime.parse(date); } catch (Exception ignored) {} if (date == null) { return null; } date = sanitize(date); if (date.contains("-") == false) { return LocalTime.parse(date); } else if (date.contains("T")) { LocalDateTime ldt = toLocalDateTime(date); return ldt.toLocalTime(); } else { return LocalTime.MIDNIGHT; } } public LocalTime toLocalTime(long date) {
public ZonedDateTime toZonedDateTime(String date) { try { return ZonedDateTime.parse(date); } catch (Exception ignored) {} if (date == null) { return null; } date = sanitize(date); int posT = date.indexOf("T"); if (posT >= 0) { int posZ = date.indexOf("-", posT); if (posZ >= 0) { String zone = date.substring(posZ); date = date.substring(0, posZ); date += zone; return ZonedDateTime.parse(date); } else if (date.toUpperCase().endsWith("Z")) { LocalDateTime localDateTime = LocalDateTime.parse(date, getFormatter(date)); ZoneId zoneId = ZoneId.of("Z"); ZonedDateTime value = ZonedDateTime.of(localDateTime, zoneId); return value; } else { LocalDateTime localDateTime = LocalDateTime.parse(date, getFormatter(date)); return ZonedDateTime.of(localDateTime, zoneId); } } else { LocalDate localDate = LocalDate.parse(date, getFormatter(date)); return ZonedDateTime.of(localDate, LocalTime.MIDNIGHT, zoneId); } }