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