Java SimpleDateFormat 错误:java.lang.IllegalArgumentException: Cannot format given Object as a Date
解决 SimpleDateFormat 抛出 java.lang.IllegalArgumentException 错误
代码片段:javaSimpleDateFormat sf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');it.setTime(objs[10] != null ? sf.format(objs[10]) : '');
该错误发生的原因是 SimpleDateFormat 的 format() 方法要求传入的参数必须是 Date 类型对象,而 objs[10] 可能不是 Date 类型。
解决方法:
-
判断
objs[10]是否为Date类型: 使用instanceof关键字判断objs[10]是否为Date类型。 -
根据类型进行处理: * 如果
objs[10]是Date类型,则直接使用format()方法格式化。 * 如果objs[10]不是Date类型,则根据实际需求进行处理,例如: * 将objs[10]转换为Date类型再进行格式化。 * 使用一个默认值。
**代码示例:**javaSimpleDateFormat sf = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');Object obj = objs[10];if (obj instanceof Date) { it.setTime(sf.format((Date) obj));} else { // 对于不是Date类型的情况,根据需求进行处理 it.setTime(''); // 或者使用一个默认值}
请根据您的实际需求和 objs[10] 的数据类型进行相应的处理。
原文地址: https://www.cveoy.top/t/topic/pcN0 著作权归作者所有。请勿转载和采集!