zoukankan      html  css  js  c++  java
  • 【转】apache DateFormatUtils 与 DateUtils 的使用

    在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)

     

    常用日期格式的格式化操作:
    例1: 以 yyyy-MM-dd 格式化:

    DateFormatUtils.ISO_DATE_FORMAT.format(new Date()): 2009-03-20


    例2: 以 yyyy-MM-ddZZ 格式化:

    DateFormatUtils.ISO_DATE_TIME_ZONE_FORMAT.format(new Date()): 2009-03-20+08:00


    例3: 以 yyyy-MM-dd'T'HH:mm:ss 格式化:

    DateFormatUtils.ISO_DATETIME_FORMAT.format(new Date()): 2009-03-20T22:07:01


    例4: 以 yyyy-MM-dd'T'HH:mm:ssZZ 格式化:

    DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.format(new Date()): 2009-03-20T22:07:01+08:00

    例5: 以 'T'HH:mm:ss 格式化:

    DateFormatUtils.ISO_TIME_FORMAT.format(new Date()): T22:07:01

    例6: 以 HH:mm:ss 格式化:

    DateFormatUtils.ISO_TIME_NO_T_FORMAT.format(new Date()): 22:07:01


    例7: 以 HH:mm:ssZZ 格式化:

    DateFormatUtils.ISO_TIME_NO_T_TIME_ZONE_FORMAT.format(new Date()): 22:07:01+08:00


    例8: 以 'T'HH:mm:ssZZ 格式化:

    DateFormatUtils.ISO_TIME_TIME_ZONE_FORMAT.format(new Date()): T22:07:01+08:00


    自定义日期格式的格式化操作:
    例1: 以 yyyy-MM-dd HH:mm:ss 格式化Date对象:

    DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"): 2009-03-20 22:24:30


    例2: 以 yyyy-MM-dd HH:mm:ss 格式化Calendar对象:

    DateFormatUtils.format(Calendar.getInstance(), "yyyy-MM-dd HH:mm:ss"): 2009-03-20 22:24:30


    例3: 以 yyyy-MM-dd HH:mm:ss 格式化TimeInMillis:

    DateFormatUtils.format(Calendar.getInstance().getTimeInMillis(), "yyyy-MM-dd HH:mm:ss"): 2009-03-20 22:24:30

     

     

     

  • 相关阅读:
    SVN——Jenkins自动发布
    IIS之虚拟目录学习
    SVN迁移
    通过配置host,自定义域名让本地访问
    比较两个时间的大小 举例:CompareDate("12:00","11:15")
    [转]SQL Server 批量完整备份
    js前台编码,asp.net后台解码 防止前台传值到后台为乱码
    前端将图片二进制流显示在html端
    【转】解析<button>和<input type="button"> 的区别
    利用bat批处理——实现数据库的自动备份和删除
  • 原文地址:https://www.cnblogs.com/chreless2/p/5544941.html
Copyright © 2011-2022 走看看