如何使用Java函数实现日期时间格式化
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中常用的几种日期和时间格式化函数,您可以根据您的需求选择合适的函数。通过使用这些函数,您可以轻松地对日期和时间进行格式化和显示。
