使用DateUtils跟DateFormatUtils处理时间日期转换

来源:互联网 发布:直方图均衡化算法 编辑:程序博客网 时间:2024/05/16 07:12
使用DateUtils和DateFormatUtils处理时间日期转换
在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)

方法调用:
  
[java] view plain copy
  1. public static String timestamp2string(Timestamp time, String pattern) {  
  2.         Date d = new Date(time.getTime());  
  3.   
  4.         if (pattern == null) {  
  5.             pattern = "yyyy-MM-dd HH:mm:ss";  
  6.         }  
  7.         return DateFormatUtils.format(d, pattern);  
  8.    }  


3. 对应与SimpleDateFormat的parse()的方法,是DateUtils的parseDate方法,即:

public static java.util.Date parseDate (java.lang.String str, java.lang.String[] parsePatterns) throws java.text.ParseException


方法调用:
   
[java] view plain copy
  1. public static Date parseDateFormat() {  
  2.         SimpleDateFormat fo = new SimpleDateFormat();  
  3.         Date date = new java.util.Date(System.currentTimeMillis());  
  4.         fo.applyPattern("yyyy-MM-dd");  
  5.   
  6.         try {  
  7.             date = fo.parse(DateFormatUtils.format(date, "yyyy-MM-dd"));  
  8.         } catch (Exception e) {  
  9.         }  
  10.   
  11.         return date;  
  12.     }  



该方法会将日期字符串按照第二参数中的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文档使用。
阅读全文
0 0
原创粉丝点击