關於sql.Date和util.Date的區別,總結

區別:

不同點

  1. java.sql.date是針對sql使用的,只有日期部分,沒有時間部分

  2. java.util.date是java.sql.date的父類

之間的轉換關係

  java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());

 

總結:

對於這個問題的反思,我覺得主要有幾點:

1 java的date類型的整體設計,確實非常不好,裏面的各種邏輯非常混亂,比如Date可以保存時分秒,還有時區引起的其他坑等等,因此應該儘量的避免使用util.Date類型

2 對於model層使用時間,如果確實有Date類型的需求,請使用sql.Date,不要使用util.Date。sql.Date在使用過程中的表現基本是一致的,而且屏蔽了時分秒的問題

3 如果數據庫在設計中有誇時區的可能,應儘量避免使用Date類型,而是保持一個long的時間戳,在業務層屏蔽混亂的Date類型

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