java.sql.Date/ java.util.Date/ java.util.Calendar 用法與區別
在 JDK API 這樣解釋," 在 JDK 1.1 之前,類 Date 有兩個其他的函數。它允許把日期解釋為年、月、日、小時、分鐘和秒值。它也允許格式化和解析日期字符串。不過,這些函數的 API 不易於實現國際化。從 JDK 1.1 開始,應該使用 Calendar 類實現日期和時間字段之間轉換,使用 DateFormat 類來格式化和解析日期字符串。Date 中的相應方法已廢棄。"
1、java.util.Date 普通類, 表示的是特定的,瞬間的,能精確毫秒。
1 Date today = new Date(); //獲取當前系統時間
2 System.out.println(today);
3
4 //定義日期輸出格式
5 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
6
7 //將當前日期轉換成指定日期格式輸出
8 String day =sdf.format(today);
9 System.out.println(day);
11
12 //指定時間
13 String today1 ="2016年7月13日 10:58:54";
14 15 //將指定時間轉換成日期格式輸出
16 Date date=sdf.parse(today1);
17 System.out.println(date);
1 Date date = new Date();
2 System.out.println("毫秒:"+date.getTime());//輸入毫秒
3
4 //時間轉字符串
5 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
6 String time = sdf.format(date);
7 System.out.println("時間轉字符串:"+time);
8
9 //利用字符串來轉時間格式
10 String time02 = "2018-09-05";
11 SimpleDateFormat sdf2 = new SimpleDateFormat ("yyyy-MM-dd");
12 Date date2 = sdf2.parse(time02);
2、java.sql.Date
一個包裝了毫秒值的瘦包裝器 (thin wrapper),它允許 JDBC 將毫秒值標識為 SQL DATE 值。為了與 SQL DATE 的定義一致,由 java.sql.Date 實例包裝的毫秒值必須通過將小時、分鐘、秒和毫秒設置為與該實例相關的特定時區中的零來“規範化”。
註:毫秒值 表示自 1970 年 1 月 1 日 00:00:00 GMT 以來經過的毫秒數
java.sql.date與java.util.date區別
-
java.sql.Date 為 java.util.Date 的一個子類,繼承了 java.util.Date 中的方法,只不過兩者的 tostring() 不同, java.sql.Date 對 tostring() 進行了重寫 。 ( java.util.Date把此 Date 對象轉換為以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 輸出,而 java.sql.Date 則格式化日期轉義形式 yyyy-mm-dd 的日期。)
-
sql.Date 對應數據庫中的 Date 類型,而父類 util.Date 為 Java 裏的對象類型。
3、java.util.Calendar:抽象類,相比 Date 它在操作日歷的時候提供了一些方法來操作日歷字段。
1 //日歷類的使用
2
3 Calendar c =Calendar.getInstance();
4 int year =c.get(Calendar.YEAR);
5 int month=c.get(Calendar.MONTH)+1;//從0月開始,需要加一
6 int day1 = c.get(Calendar.DAY_OF_MONTH);
7 int hour =c.get(Calendar.HOUR);
8 int second = c.get(Calendar.SECOND);
9 int min =c.get(Calendar.MINUTE);
10 System.out.println("當前時間:"+year+"年"+month+"月"+day1+"日"
11 +hour+"日"+min+"分"+second+"秒");
Java中的日期和時間處理方法
- Date類(過時 ,因為不利於國際化,推薦使用Calendar類):
- Calendar類
- DateFormat類 使用此類來時間初始
java.sql.Date/ java.util.Date/ java.util.Calendar 用法與區別