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

     

     

     

  • 相关阅读:
    git can't merge 的处理 代码冲突问题的解决
    react 父组件向子组件传递函数
    node fs 文件/目录 删除
    node 调用Python exec child_process 模块
    node 设置自动启用定时任务控件 node-schedule
    Python 安装
    常见Python 中pip用法(待继续添加)
    机器审核图片学习(2)安装pornDetector所用环境-python、scikit-learn、opencv
    机器审核图片学习(1)pornDetector
    机器学习工具
  • 原文地址:https://www.cnblogs.com/chreless2/p/5544941.html
Copyright © 2011-2022 走看看