在Apache Commons項目的Lang里面,有兩個類:DateUtils和DateFormatUtils,專門用於處理時間日期轉換。它們在
org.apache.commons.lang.time包下。
1. 與SUN的SimpleDateFormat相比,其主要優點是:線程安全。
2. 對應於SimpleDateFormat的format()的方法,是DateFormatUtils 的format系列方法,常用的就是:
public static java.lang.String format (java.util.Date date, java.lang.String pattern)
3. 對應與SimpleDateFormat的parse()的方法,是DateUtils的parseDate方法,即:
public static java.util.Date parseDate (java.lang.String str, java.lang.String[] parsePatterns) throws java.text.ParseException
該方法會將日期字符串按照第二參數中的String數組,依次比對,選擇合適的Pattern來解析。
4. 日期舍入與截整,DateUtils的truncate()方法可以將日期按照任意范圍截整,關鍵看第二個參數。
public static java.util.Date truncate (java.util.Date date, int field)
第二個參數取自Calendar的常量,可以是MONTH、DATE、HOUR等多種;
5. 判斷是否是同一天,DateUtils的isSameDay()方法
public static boolean isSameDay (java.util.Date date1, java.util.Date date2)
6. DateFormatUtils定義了很多內置的固定日期格式,均為FastDateFormat類型,比如 ISO_DATE_FORMAT。使用
FastDateFormat的format()方法可以直接將日期格式化為內置的固定格式。
public java.lang.String format (java.util.Date date)
7. 以上提到的方法具有多態形式,可以仔細參照API文檔使用。