/** * Warning: may rely on default timezone! * * @return the datetime, {@code null} if stringDate is null * @throws IllegalArgumentException if stringDate is not a correctly formed date or datetime * @since 6.1 */ @CheckForNull public static Date parseDateOrDateTime(@Nullable String stringDate) { if (stringDate == null) { return null; } OffsetDateTime odt = parseOffsetDateTimeQuietly(stringDate); if (odt != null) { return Date.from(odt.toInstant()); } LocalDate ld = parseLocalDateQuietly(stringDate); checkArgument(ld != null, "Date '%s' cannot be parsed as either a date or date+time", stringDate); return Date.from(ld.atStartOfDay(ZoneId.systemDefault()).toInstant()); }
/** * Warning: may rely on default timezone! * * @return the datetime, {@code null} if stringDate is null * @throws IllegalArgumentException if stringDate is not a correctly formed date or datetime * @since 6.1 */ @CheckForNull public static Date parseDateOrDateTime(@Nullable String stringDate) { if (stringDate == null) { return null; } OffsetDateTime odt = parseOffsetDateTimeQuietly(stringDate); if (odt != null) { return Date.from(odt.toInstant()); } LocalDate ld = parseLocalDateQuietly(stringDate); checkArgument(ld != null, "Date '%s' cannot be parsed as either a date or date+time", stringDate); return Date.from(ld.atStartOfDay(ZoneId.systemDefault()).toInstant()); }