Date類
- 用途一:Date類中的方法基本上都已經過時,被Calendar類所替代,不過它也有其比較方便的地方,例如獲取當前日期並以字符串的形式輸出:
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String s = sdf.format(new Date()); //new Date() 即爲獲取當前時間 System.out.println(s);
- 用途二:由於SimpleDateFormat類無法對Calendar的子類對象進行格式化,因此此時必須藉助Date類對象作爲載體來完成數據格式的轉換.
SimpleDateFormat類
- 主要用來對日期進行格式化
- 將日期格式爲字符串:
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String s = sdf.format(new Date()); System.out.println(s);
-
- 將字符串格式化爲日期:
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2016-09-07");
-
- 將日期格式爲字符串:
Calendar類
- 此類如今是日期類型操作中的重頭戲
- 其中包含的靜態常量所對應的日期信息(注意:必須要經過對象.get(Calendar.靜態常量)後才能獲取靜態常量所代表具體的日期)
-
Date date = sdf.parse("2016-09-07"); Calendar is = Calendar.getInstance(); is.setTime(date);
- Calendar.YEAR 代表當前Calendar子類對象的當前年份 is.get(Calendar.YEAR)值爲2016
- Calendar.DAYOFYEAR 代表當前Calendar子類對象的當前年份的第幾天 is.get(Calendar.DAYOFYEAR)值爲251
- Calendar.MONTH 代表當前Calendar子類對象的當前月份 (is.get(Calendar.MONTH))+1 值爲9,因爲month是從零開始,所以直接獲取的值會比實際月份少一個月,所以要進行加一操作.
- Calendar.DAYOFMONTH 代表當前Calendar子類對象的當前月的當前日期號 is.get(Calendar.DAYOFMONTH) 值爲7
- Calendar.DATE 代表當前Calendar子類對象的當前月的當前日期號 is.get(Calendar.DATE) 值爲7 因此其與Calendar.DAYOFMONTH獲取值是相同的
- Calendar.DAYOFWEEK 代表當前Calendar子類對象的當前星期的第幾天,因爲按照美國時間來的,而美國週日爲一週的第一天,因此當獲取星期的時候要處理一下 is.get(Calendar.DAYOFWEEK) 值爲4
-
Calendar類中需要掌握的兩個方法:
-
public void add(int field,int amount)
is.add(Calendar.DATE, -1);//對當前日期對象進行操作,可以對其分別進行年份,月份等等加減操作.
-
public final void set(int year,int month,int date)
is.set(is.get(Calendar.YEAR), is.get(Calendar.MONTH), 1);//直接對日期對象內的屬性進行設置.
-