1. 程式人生 > >Java Date第二篇java.util.Date和java.sql.Date

Java Date第二篇java.util.Date和java.sql.Date

java.util.Date 是 java.sql.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

當然了,程式碼執行時獲取到的時間不同,顯示就不同了,但這裡考慮的是執行程式碼的過程中,做到了時間的相互轉換。