解决报错 java.lang.IllegalArgumentException: Cannot format given Object as a Date
报错原因:我们在SimpleDateFormat.format转化时间格式的时候,传入的值无法转换成date而报的错
我的代码大概就是下面这种
LocalDate now = LocalDate.now();String format1 = new SimpleDateFormat("yyyy-MM-dd").format(now);
发现SimpleDateFormat.format方法并不适用于LocalDate类型,不然就会报此错误;
这个错误的解决方法都是一样,先把时间转换成date类型,再去调用此方法进行格式化
public final StringBuffer format(Object obj, StringBuffer toAppendTo,FieldPosition fieldPosition){if (obj instanceof Date)return format( (Date)obj, toAppendTo, fieldPosition );else if (obj instanceof Number)return format( new Date(((Number)obj).longValue()),toAppendTo, fieldPosition );elsethrow new IllegalArgumentException("Cannot format given Object as a Date");}