java.util.Date和java.sql.Date的比較

java.util.Date和java.sql.Date的比較

  • java.sql.Date 繼承自 java.util.Date
  • java.sql.Date對應於 SQL 中的日期,時間部分置零

A thin wrapper around a millisecond value that allows JDBC to identify this as an SQL DATE value. A milliseconds value represents the number of milliseconds that have passed since January 1, 1970 00:00:00.000 GMT.

To conform with the definition of SQL DATE, the millisecond values wrapped by a java.sql.Date instance must be ‘normalized’ by setting the hours, minutes, seconds, and milliseconds to zero in the particular time zone with which the instance is associated.

  • demo1
java.util.Date date1 = new java.util.Date(System.currentTimeMillis());
java.sql.Date date2 = new java.sql.Date(System.currentTimeMillis());
System.out.println(date1);
System.out.println(date2);

Mon Nov 25 20:11:11 CST 2019
2019-11-25

  • demo2
long time = System.currentTimeMillis();
java.sql.Date sqlDate = new java.sql.Date(time);
System.out.println(time);				// 1574684386052
System.out.println(sqlDate.getTime());	// 1574684386052
  • java.sql.Date轉換爲java.util.Date
// java.sql.Date轉爲java.util.Date
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
java.util.Date utilDate = new java.util.Date (sqlDate.getTime());
System.out.println(sqlDate);	// 2019-11-25
System.out.println(utilDate);	// Mon Nov 25 20:29:42 CST 2019
// java.util.Date轉爲java.sql.Date
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println(utilDate);	// Mon Nov 25 20:31:26 CST 2019
System.out.println(sqlDate);	// 2019-11-25

注:SQL中一般用 java.sql.Timestamp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章