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

     

     

     

  • 相关阅读:
    软件配置管理的作用?软件配置包括什么?
    火火恍恍惚惚
    什么是软件测试?软件测试的目的与原则
    软件生存周期及其模型是什么?
    试述软件的概念和特点?软件复用的含义?构件包括哪些?
    一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
    numpy的broadcast是怎么做的
    python到底是解释型语言还是需要编译的?
    python:删除类实例,仅仅只有动态属性会被删除,类属性不会被删除
    jupyter的kernel莫名其妙找不到,莫名其妙就中断
  • 原文地址:https://www.cnblogs.com/chreless2/p/5544941.html
Copyright © 2011-2022 走看看