Java Date第二篇java.util.Date和java.sql.Date
阿新 • • 發佈:2019-02-16
java.util.Date 是 java.sql.Date 的父類。
java.sql.Date設計在sql 中使用,只有日期沒有時間(轉換的過程中時間好像也不會丟失)
java.util.Date使用在其他的大部分的情況下。
當然了,程式碼執行時獲取到的時間不同,顯示就不同了,但這裡考慮的是執行程式碼的過程中,做到了時間的相互轉換。
java.sql.Date設計在sql 中使用,只有日期沒有時間(轉換的過程中時間好像也不會丟失)
java.util.Date使用在其他的大部分的情況下。
兩種都含有getTime()方法,獲取到從1970年1月1日到現在的毫秒數。
兩種date之間可以相互轉換。
我非常喜歡直接搞程式碼,感覺這樣比較直觀,但總覺得這樣不是太好,看到的太淺,接觸不到深層的東西。
上邊程式碼執行的結果為:public static void main(String[] args) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String d = "2016-10-14"; try { Date aDate = format.parse(d); System.out.println("util.date:"+aDate+":毫秒數是"+aDate.getTime()); java.sql.Date aDate2=new java.sql.Date(aDate.getTime()); System.out.println("sql.date: "+aDate2+":毫秒數是"+aDate.getTime()); } catch (ParseException e) { e.printStackTrace(); } System.out.println("-------------------------"); long d1 = new Date().getTime(); System.out.println("long :"+d1); //long to util.date java.util.Date date1=new java.util.Date (d1); System.out.println("util.date"+date1+":毫秒數是"+date1.getTime()); //long to sql.date java.sql.Date date2=new java.sql.Date(d1); System.out.println("sql.date:"+date2+":毫秒數是"+date2.getTime()); //sql.date to util.date java.util.Date date3=new java.util.Date (date2.getTime()); System.out.println("util.date"+date3+":毫秒數是"+date3.getTime()); //util.date to sql.date java.sql.Date date4 = new java.sql.Date(date2.getTime()); System.out.println("util.date"+date4+":毫秒數是"+date4.getTime()); }
util.date:Fri Oct 14 00:00:00 CST 2016:毫秒數是1476374400000 sql.date: 2016-10-14:毫秒數是1476374400000 ------------------------- long :1476432567517 util.dateFri Oct 14 16:09:27 CST 2016:毫秒數是1476432567517 sql.date:2016-10-14:毫秒數是1476432567517 util.dateFri Oct 14 16:09:27 CST 2016:毫秒數是1476432567517 util.date2016-10-14:毫秒數是1476432567517
當然了,程式碼執行時獲取到的時間不同,顯示就不同了,但這裡考慮的是執行程式碼的過程中,做到了時間的相互轉換。