區別:
不同點
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型別
區別:
不同點
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型別