欢迎访问宙启技术站
智能推送

Java函数:如何按照指定格式格式化日期和时间?

发布时间:2023-05-19 03:07:53

在 Java 中,要按照指定的格式格式化日期和时间,可以使用 SimpleDateFormat 类。SimpleDateFormat 类是一个简单的日期格式化类,它可以将日期格式化为指定的字符串。使用 SimpleDateFormat 类可以实现将 Date 类型的日期数据格式化为指定的字符串格式,或将字符串格式转换为 Date 类型的日期数据。

一、SimpleDateFormat 类的使用

为了使用 SimpleDateFormat 类来格式化日期和时间,我们需要按照以下步骤进行:

1. 创建 SimpleDateFormat 对象

2. 设置日期时间格式

3. 使用 SimpleDateFormat 对象格式化日期时间

下面,我们来分别介绍这三个步骤。

1. 创建 SimpleDateFormat 对象

创建 SimpleDateFormat 对象的方法如下:

SimpleDateFormat sdf = new SimpleDateFormat();

以上代码将创建一个默认格式的 SimpleDateFormat 对象。

SimpleDateFormat 类提供了多种构造函数,可以根据不同的需求来创建 SimpleDateFormat 对象。以下是一些常用的构造函数:

public SimpleDateFormat()

public SimpleDateFormat(String pattern)

public SimpleDateFormat(String pattern, Locale locale)

个构造方法创建一个默认格式的 SimpleDateFormat 对象。第二个构造方法需要传入一个字符串模式作为参数,用于指定日期时间的格式。第三个构造方法将第二个参数指定为本地化对象,用于指定日期时间格式所使用的语言环境。

2. 设置日期时间格式

使用 SimpleDateFormat 类格式化日期时间之前,我们需要先设置日期时间格式。日期时间格式通常由一些代表日期和时间的格式字符组成,如下表所示:

日期时间格式字符 说明

yyyy 4 位数的年份

yy 2 位数的年份

MM 月份

M 月份(不补齐 0)

dd 日期

d 日期(不补齐 0)

HH 24 小时制的小时数

H 24 小时制的小时数(不补齐 0)

hh 12 小时制的小时数

h 12 小时制的小时数(不补齐 0)

mm 分钟

m 分钟(不补齐 0)

ss 秒钟

s 秒钟(不补齐 0)

SSS 毫秒

E 星期几(英文名称)

a 上午或下午标识符

Z 时区

根据需要,我们可以使用这些格式字符来组合成一个日期时间格式模式。例如,要将日期时间格式化为 yyyy-MM-dd HH:mm:ss 的形式,我们可以使用以下格式模式:

String pattern = "yyyy-MM-dd HH:mm:ss";

3. 使用 SimpleDateFormat 对象格式化日期时间

在设置了 SimpleDateFormat 对象的格式之后,我们就可以使用 format() 方法将 Date 类型的日期数据格式化为指定的字符串格式。format() 方法的返回值为 String 类型。

以下代码演示了如何将当前日期时间格式化为 yyyy-MM-dd HH:mm:ss 的形式:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date now = new Date();

String strNow = sdf.format(now);

在上面的代码中,我们使用 SimpleDateFormat 类创建了一个格式为 yyyy-MM-dd HH:mm:ss 的 SimpleDateFormat 对象。然后,我们获取了当前日期时间并将其格式化为指定的字符串格式。最终,我们将格式化后的日期时间保存到 strNow 变量中。

二、示例代码

下面给出一个完整的示例代码,演示了如何使用 SimpleDateFormat 类来格式化日期和时间:

import java.text.SimpleDateFormat;

import java.util.Date;

public class DateFormatExample {

    public static void main(String[] args) {

        // 创建一个格式为 yyyy-MM-dd HH:mm:ss 的日期时间格式化对象

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        // 获取当前日期时间并格式化为字符串

        Date now = new Date();

        String strNow = sdf.format(now);

        System.out.println(strNow);

        // 将字符串解析为日期时间

        try {

            Date date = sdf.parse("2020-01-01 12:00:00");

            System.out.println(date);

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}

在上面的代码中,我们首先创建了一个格式为 yyyy-MM-dd HH:mm:ss 的 SimpleDateFormat 对象。然后,我们获取了当前日期时间并将其格式化为指定的字符串格式。最终,我们将格式化后的日期时间输出到控制台。

接着,我们使用 parse() 方法将字符串格式的日期时间解析为 Date 类型的日期数据。在解析字符串时,要注意要使用与格式化相同的日期时间格式。否则,解析将失败并抛出异常。

执行上述代码,将输出以下结果:

2022-02-02 14:43:11

Wed Jan 01 12:00:00 CST 2020

三、总结

在 Java 中,使用 SimpleDateFormat 类能够很方便地格式化日期和时间。我们可以使用 SimpleDateFormat 类将 Date 类型的日期数据格式化为指定的字符串格式,或将字符串格式转换为 Date 类型的日期数据。要使用 SimpleDateFormat 类来格式化日期和时间,我们需要先创建 SimpleDateFormat 对象,然后设置日期时间格式,最后使用 SimpleDateFormat 对象格式化日期时间。