@CheckForNull public Date paramAsDateTime(String key) { String stringDate = param(key); if (stringDate == null) { return null; } Date date = parseDateTimeQuietly(stringDate); if (date != null) { return date; } date = parseDateQuietly(stringDate); checkArgument(date != null, "'%s' cannot be parsed as either a date or date+time", stringDate); return date; }
@CheckForNull public static Date toDate(@Nullable Object o) { if (o == null) { return null; } if (o instanceof Date) { return (Date) o; } if (o instanceof String) { if (StringUtils.isBlank((String) o)) { return null; } Date date = DateUtils.parseDateTimeQuietly((String) o); if (date != null) { return date; } return DateUtils.parseDate((String) o); } throw new IllegalArgumentException("Unsupported type for date: " + o.getClass()); }
/** * Return the datetime if @param stringDate is a datetime, date + 1 day if stringDate is a date. * So '2016-09-01' would return a date equivalent to '2016-09-02T00:00:00+0000' in GMT (Warning: relies on default timezone!) * * @return the datetime, {@code null} if stringDate is null * @throws IllegalArgumentException if stringDate is not a correctly formed date or datetime * @see #parseDateOrDateTime(String) * @since 6.1 */ @CheckForNull public static Date parseEndingDateOrDateTime(@Nullable String stringDate) { if (stringDate == null) { return null; } Date date = parseDateTimeQuietly(stringDate); if (date != null) { return date; } date = parseDateQuietly(stringDate); checkArgument(date != null, "Date '%s' cannot be parsed as either a date or date+time", stringDate); return addDays(date, 1); }
@Test public void parseDateTimeQuietly() { assertThat(DateUtils.parseDateTimeQuietly("2010/05/18 10:55")).isNull(); Date date = DateUtils.parseDateTimeQuietly("2010-05-18T15:50:45+0100"); assertThat(date.getMinutes()).isEqualTo(50); }
String dateStr = StringUtils.trimToNull(fields[2]); if (dateStr != null) { Date dateTime = DateUtils.parseDateTimeQuietly(dateStr); if (dateTime != null) { blameLine.date(dateTime);
@Override public void apply(String value, FileSourceDb.Line.Builder lineBuilder) { lineBuilder.setScmDate(DateUtils.parseDateTimeQuietly(value).getTime()); } });
@CheckForNull public static Date toDate(@Nullable Object o) { if (o == null) { return null; } if (o instanceof Date) { return (Date) o; } if (o instanceof String) { if (StringUtils.isBlank((String) o)) { return null; } Date date = DateUtils.parseDateTimeQuietly((String) o); if (date != null) { return date; } return DateUtils.parseDate((String) o); } throw new IllegalArgumentException("Unsupported type for date: " + o.getClass()); }
@CheckForNull public Date paramAsDateTime(String key) { String stringDate = param(key); if (stringDate == null) { return null; } Date date = parseDateTimeQuietly(stringDate); if (date != null) { return date; } date = parseDateQuietly(stringDate); checkArgument(date != null, "'%s' cannot be parsed as either a date or date+time", stringDate); return date; }
/** * Return the datetime if @param stringDate is a datetime, date + 1 day if stringDate is a date. * So '2016-09-01' would return a date equivalent to '2016-09-02T00:00:00+0000' in GMT (Warning: relies on default timezone!) * * @return the datetime, {@code null} if stringDate is null * @throws IllegalArgumentException if stringDate is not a correctly formed date or datetime * @see #parseDateOrDateTime(String) * @since 6.1 */ @CheckForNull public static Date parseEndingDateOrDateTime(@Nullable String stringDate) { if (stringDate == null) { return null; } Date date = parseDateTimeQuietly(stringDate); if (date != null) { return date; } date = parseDateQuietly(stringDate); checkArgument(date != null, "Date '%s' cannot be parsed as either a date or date+time", stringDate); return addDays(date, 1); }
String dateStr = StringUtils.trimToNull(fields[2]); if (dateStr != null) { Date dateTime = DateUtils.parseDateTimeQuietly(dateStr); if (dateTime != null) { blameLine.date(dateTime);