最近無意中發現,在oracle中同一樣的一個Date類型字段,存儲的日期格式有兩種不同的情況,第一種是2011-1-1 12:00:00,第二種是2011-1-1,仔細查找發現在向數據庫中寫數據的時候定義的變量的問題。
第一種是:java.util.Date類型的變量,第二種是:java.sql.Date類型的變量,后來寫了下面的代碼測試了下。
java.util.Date和java.sql.Date 區別應該是:java.util.Date 類型寫到數據庫后存儲的值可以到秒,java.sql.Date 類型的寫入后只能到日期。
import java.io.File;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class Test {
? public static void main(String[] args) throws Exception {
???
??????? java.util.Date nowUtil =new java.util.Date();??????? // java.util.Date
??????? java.sql.Date nowSql=new java.sql.Date(System.currentTimeMillis());//java.sql.Date
????????
??????? SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
??????? System.out.println(format.format(nowUtil));//格式化 輸出
??????? System.out.println(format.format(nowSql));//格式化 輸出
??????? System.out.println(nowUtil); //直接 輸出
??????? System.out.println(nowSql);? //直接 輸出
????????????????????
? }??????
}
以上代碼輸出結果:
2017-11-13 14:10:03
2017-11-13 14:10:03
Mon Nov 13 14:10:03 CST 2017
2017-11-13