in src/main/java/org/apache/commons/beanutils2/converters/DateTimeConverter.java [136:177]
protected String convertToString(final Object value) {
Date date = null;
if (value instanceof Date) {
date = (Date) value;
} else if (value instanceof Calendar) {
date = ((Calendar) value).getTime();
} else if (value instanceof Long) {
date = new Date(((Long) value).longValue());
} else if (value instanceof LocalDateTime) {
date = java.sql.Timestamp.valueOf(((LocalDateTime) value));
} else if (value instanceof LocalDate) {
date = java.sql.Date.valueOf(((LocalDate) value));
} else if (value instanceof ZonedDateTime) {
date = Date.from(((ZonedDateTime) value).toInstant());
} else if (value instanceof OffsetDateTime) {
date = Date.from(((OffsetDateTime) value).toInstant());
} else if (value instanceof TemporalAccessor) {
// Backstop for other TemporalAccessor implementations.
date = Date.from(Instant.from(((TemporalAccessor) value)));
}
String result = null;
if (useLocaleFormat && date != null) {
DateFormat format = null;
if (patterns != null && patterns.length > 0) {
format = getFormat(patterns[0]);
} else {
format = getFormat(locale, timeZone);
}
logFormat("Formatting", format);
result = format.format(date);
if (log().isDebugEnabled()) {
log().debug(" Converted to String using format '" + result + "'");
}
} else {
result = value.toString();
if (log().isDebugEnabled()) {
log().debug(" Converted to String using toString() '" + result + "'");
}
}
return result;
}