從數據庫中取時間值,報錯:java.sql.Timestamp cannot be cast to java.lang.Long


從數據庫中取時間值,報錯:java.sql.Timestamp cannot be cast to java.lang.Long


 

1、問題描述

將數據庫中的查詢到的 timestamp類型的數據,轉成 Long類型報錯。

String type = result.getClass().getName(); if ("java.sql.Timstamp".equalsIgnoreCase(type)) { return new Date((Long) result); }

 

 

2、解決方案

因為 java.sql.Timestampjava.util.Date子類

所以,直接 將 java.sql.Timestamp 轉換為 java.util.Date 類型 即可。

String type = result.getClass().getName(); if ("java.sql.Timestamp".equalsIgnoreCase(type)) { return (Date)result; }

 

或者將數據轉成String類型輸出:

String type = result.getClass().getName(); // 將 Timestamp 類型轉換為 String類型(yyyy-MM-dd HH:mm:ss)
 if ("java.sql.Timestamp".equalsIgnoreCase(type)) { //java.sql.Timestamp處理邏輯
     return DateUtil.timeToYmdHmsString((Date)result); }

 

DateUtil 工具類如下:

public class DateUtil { private static String defaultYmdHmsPattern = "yyyy-MM-dd HH:mm:ss"; /** * 將Date轉成 String,格式:yyyy-MM-dd HH:mm:ss * @param date 日期類型 * @return String 日期格式的字符串 */
    public static String timeToYmdHmsString(Date date) { SimpleDateFormat formatter = new SimpleDateFormat(defaultYmdHmsPattern); return formatter.format(date); } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM