1. 程式人生 > >mysql設定表列的時候把時間設定成String型別,java 程式後面涉及到當前時間和資料庫裡資料的差值計算,怎麼破?

mysql設定表列的時候把時間設定成String型別,java 程式後面涉及到當前時間和資料庫裡資料的差值計算,怎麼破?

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();
	}
   }