mysql設定表列的時候把時間設定成String型別,java 程式後面涉及到當前時間和資料庫裡資料的差值計算,怎麼破?
阿新 • • 發佈:2018-11-11
mysql設定表列的時候把時間設定成String型別,java 程式後面涉及到當前時間和資料庫裡資料的差值計算,怎麼破?
如果改資料庫裡面表的列屬性varchar改成time,需要很多地方改進,而且專案已經試運行了,怕出問題?
在java程式中型別轉化很多,String型別可以轉化為date型別。然後進行計算;
如下程式碼
public static void main(String[] args) throws SQLException { //獲取當前的時間 Date da=new Date(); System.out.println(da); try { //String 型別轉化為Date型別 SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); String time1="2018-10-15 16:02:21"; Date date1 = formatter.parse(time1); System.out.println(date1); System.out.println(da); //計算兩個時間差 long l=da.getTime()-date1.getTime(); long day=l/(24*60*60*1000); long hour=(l/(60*60*1000)-day*24); long min=((l/(60*1000))-day*24*60-hour*60); System.out.println(""+day+"天"+hour+"小時"+min+"分"); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } }