1. 程式人生 > >java.sql.Date/ java.util.Date/ java.util.Calendar 用法與區別

java.sql.Date/ java.util.Date/ java.util.Calendar 用法與區別

csdn min () 日期格 日歷 字符串 重寫 抽象類 font

  在 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區別

  1. 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 的日期。)

  2. 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 用法與區別