Java如何使用DateFormatUtils类格式化日期和时间?

该DateFormatUtils班帮助我们格式的日期和时间信息。该类使用一个类的实例org.apache.commons.lang.time.FastDateFormat来格式化日期和时间信息。与Java相比SimpleDateFormat,FastDateFormat该类是线程安全的。

如果要创建自定义日期格式,可以FastDateFormat直接使用该类。

package org.nhooo.example.commons.lang;

import org.apache.commons.lang3.time.DateFormatUtils;

import java.util.Date;

public class DateFormattingDemo {
    public static void main(String[] args) {
        Date today = new Date();

        // ISO8601格式化程序,用于不带时区的日期时间。
        // 使用的格式为yyyy-MM-dd'T'HH:mm:ss。
        String timestamp = DateFormatUtils.ISO_8601_EXTENDED_DATETIME_FORMAT.format(today);
        System.out.println("timestamp = " + timestamp);

        // ISO8601格式化程序,用于带时区的日期时间。
        // 使用的格式为yyyy-MM-dd'T'HH:mm:ssZZ。
        timestamp = DateFormatUtils.ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT.format(today);
        System.out.println("timestamp = " + timestamp);

        // 在美国语言环境中,使用的格式为EEE,dd MMM yyyy HH:mm:ssZ。
        timestamp = DateFormatUtils.SMTP_DATETIME_FORMAT.format(today);
        System.out.println("timestamp = " + timestamp);
    }
}

代码段的结果:

timestamp = 2019-07-24T10:17:12
timestamp = 2019-07-24T10:17:12+08:00
timestamp = Wed, 24 Jul 2019 10:17:12 +0800

Maven依赖

<!-- https://search.maven.org/remotecontent?filepath=org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

Maven中央