java.lang.IllegalArgumentException: Cannot format given Object as a Date


在进行日期转换的时候遇到了这个问题, 非常的恼火

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置用户名并进行时间转换
        for (int i = 0; i < purchasedFundsList.size() ; i++) { purchasedFundsList.get(i).setUserName(userName); purchasedFundsList.get(i).setCreateTime(sdf.format(purchasedFundsList.get(i).getCreateTime())); }

查看API发现了问题, format(Date date) 这个方法的参数只能是Date类型的, 而我传递的是String类型, 所以方法的参数类型错误!

当通过一个小小的工具转换之后, 问题解决!

sdf.format(TimeUtil.StringToDate(purchasedFundsList.get(i).getCreateTime()));

小工具: TimeUtil.java

    /** * 将字符串时间格式转换成Date时间格式,参数String类型 * 比如字符串时间:"2017-12-15 21:49:03" * 转换后的date时间:Fri Dec 15 21:49:03 CST 2017 * @param datetime 类型为String * @return
     */
    public static Date StringToDate(String datetime){ SimpleDateFormat sdFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); try { date = sdFormat.parse(datetime); } catch (ParseException e) { // TODO Auto-generated catch block
 e.printStackTrace(); } return date; }

问题解决!

 

 

参考资料:  https://blog.csdn.net/alan_liuyue/article/details/78979737


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM