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

如何使用Java函数实现日期时间格式化

发布时间:2023-06-03 06:21:38

Java中提供了很多函数可以用来对日期和时间进行格式化。本文将介绍Java中常用的几种日期和时间格式化函数以及如何使用它们。

1. SimpleDateFormat类

SimpleDateFormat 类提供了一种简单的方法来格式化日期和时间。它允许您使用自定义模式字符串对日期时间进行格式化。

以下是 SimpleDateFormat 类的构造函数:

SimpleDateFormat(String pattern)

使用构造函数创建 SimpleDateFormat 对象时,您需要传递一个模式字符串作为参数。模式字符串指定您希望输出的日期或时间格式。

以下是一些常见的模式字符串:

- yyyy-MM-dd 表示年份-月份-日期;

- yyyy-MM-dd HH:mm:ss 表示年份-月份-日期 小时:分钟:秒;

- EEE MMM dd HH:mm:ss zzz yyyy 表示星期几 月份 日份 小时:分钟:秒 时区 年份。

以下是示例代码:

import java.text.SimpleDateFormat;
import java.util.Date;

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

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String dateStr = sdf.format(date);
        System.out.println("Date formatted in yyyy-MM-dd format: " + dateStr);

        sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        dateStr = sdf.format(date);
        System.out.println("Date formatted in yyyy-MM-dd HH:mm:ss format: " + dateStr);

        sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
        dateStr = sdf.format(date);
        System.out.println("Date formatted in EEE MMM dd HH:mm:ss zzz yyyy format: " + dateStr);
    }
}

输出结果如下:

Date formatted in yyyy-MM-dd format: 2022-01-01
Date formatted in yyyy-MM-dd HH:mm:ss format: 2022-01-01 16:38:25
Date formatted in EEE MMM dd HH:mm:ss zzz yyyy format: Sat Jan 01 16:38:25 CST 2022

2. DateTimeFormatter类

DateTimeFormatter 类是Java 8提供的日期和时间格式化类。与 SimpleDateFormat 类不同,它使用预定义的模式符号来格式化日期和时间。

以下是 DateTimeFormatter 类的构造函数:

public static DateTimeFormatter ofPattern(String pattern)

使用构造函数创建 DateTimeFormatter 对象时,您需要传递一个模式字符串作为参数。模式字符串指定您希望输出的日期或时间格式。

以下是一些常见的模式字符串:

- yyyy-MM-dd 表示年份-月份-日期;

- yyyy-MM-dd HH:mm:ss 表示年份-月份-日期 小时:分钟:秒;

- EEE MMM dd HH:mm:ss zzz yyyy 表示星期几 月份 日份 小时:分钟:秒 时区 年份。

以下是示例代码:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTimeFormatterDemo {
    public static void main(String[] args) {
        LocalDateTime dateTime = LocalDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        String dateStr = dateTime.format(formatter);
        System.out.println("Date formatted in yyyy-MM-dd format: " + dateStr);

        formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        dateStr = dateTime.format(formatter);
        System.out.println("Date formatted in yyyy-MM-dd HH:mm:ss format: " + dateStr);

        formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy");
        dateStr = dateTime.format(formatter);
        System.out.println("Date formatted in EEE MMM dd HH:mm:ss zzz yyyy format: " + dateStr);
    }
}

输出结果如下:

Date formatted in yyyy-MM-dd format: 2022-01-01
Date formatted in yyyy-MM-dd HH:mm:ss format: 2022-01-01 16:38:25
Date formatted in EEE MMM dd HH:mm:ss zzz yyyy format: Sat Jan 01 16:38:25 CST 2022

3. ZonedDateTime类

ZonedDateTime 类是 Java 8 提供的日期和时间格式化类,它包含了日期,时间和时区信息。

以下是 ZonedDateTime 类的构造函数:

ZonedDateTime dateTime = ZonedDateTime.now();

使用构造函数创建 ZonedDateTime 对象时,它将返回当前日期、时间和时区的对象。 您可以使用 DateTimeFormatter 类对日期和时间进行格式化。

以下是示例代码:

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class ZonedDateTimeDemo {
    public static void main(String[] args) {
        ZonedDateTime dateTime = ZonedDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
        String dateStr = dateTime.format(formatter);
        System.out.println("Date formatted in yyyy-MM-dd HH:mm:ss z format: " + dateStr);
    }
}

输出结果如下:

Date formatted in yyyy-MM-dd HH:mm:ss z format: 2022-01-01 16:38:25 CST

本文介绍了Java中常用的几种日期和时间格式化函数,您可以根据您的需求选择合适的函数。通过使用这些函数,您可以轻松地对日期和时间进行格式化和显示。