使用DateUtils和DateFormatUtils处理时间日期转换与SimpleDateFormat的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用DateUtils和DateFormatUtils处理时间日期转换与SimpleDateFormat的区别相关的知识,希望对你有一定的参考价值。

在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文档使用。

以上是关于使用DateUtils和DateFormatUtils处理时间日期转换与SimpleDateFormat的区别的主要内容,如果未能解决你的问题,请参考以下文章

Android经常使用工具类DateUtils

Apache DateUtils会截断每月的日期

HttpClient DateUtils 的时区问题

DateUtils工具类

10.22 使用DateUtils对日期进行数学运算

日期工具类 DateUtils(继承org.apache.commons.lang.time.DateUtils类)