如何使用Java 8中DateTimeFormatter类型转换日期格式详解
作者:今夜有点儿亮
DateTimeFormatter类将日期格式转换为指定的格式
在Java 8中,可以使用DateTimeFormatter类来将日期格式转换为指定的格式(例如:yyyy-MM-dd HH:mm:ss)。
示例代码
以下是将日期格式转换为指定格式的示例代码:
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class DateTimeFormatExample { public static void main(String[] args) { // 获取当前日期和时间 LocalDateTime dateTime = LocalDateTime.now(); // 定义日期时间格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 将日期时间按照指定格式进行格式化 String formattedDateTime = dateTime.format(formatter); // 打印格式化后的日期时间 System.out.println("Formatted DateTime: " + formattedDateTime); } } // 输出:Formatted DateTime: 2023-07-03 11:11:00
在上述代码中,首先获取当前的日期和时间LocalDateTime.now(),然后通过DateTimeFormatter.ofPattern()方法定义日期时间的格式,参数为指定的格式字符串("yyyy-MM-dd HH:mm:ss")。接下来,使用format()方法将日期时间对象按照指定的格式进行格式化,返回一个格式化后的字符串。最后,打印格式化后的日期时间。
除了上述的格式字符外,还可以使用其他字符来表示日期时间的分隔符,例如:-、/、:等。
需要注意的是,DateTimeFormatter是线程安全的,因此可以在多线程环境下共享和重用同一个DateTimeFormatter对象。
将DateTimeFormatter格式化的字符串转类型日期转换成Date类型
可以使用DateTimeFormatter和LocalDateTime相互转换,然后再转换为Date格式。
// 1.将DateTimeFormatter格式化的日期字符串转换为LocalDateTime对象 LocalDateTime localDateTime = LocalDateTime.parse(formattedDateTime, formatter); // 2.将LocalDateTime转换为Instant对象 Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant(); // 3.将Instant对象转换为Date对象 Date date = Date.from(instant); // 输出:Mon Jul 03 13:42:08 CST 2023
ZoneId.systemDefault()是一个静态方法,用于获取系统默认的时区。
atZone()方法接受一个ZoneId参数,用于指定时区。它将LocalDateTime对象与指定的时区进行关联,并返回一个在该时区下的ZonedDateTime对象。
Date.from()方法是将Instant对象转换为Date对象的静态方法。
请注意,java.time包中的类型(如LocalDateTime)是不可变类型,而java.util.Date是可变类型。因此,在使用过程中要注意确保线程安全性。如果需要频繁转换日期时间类型,建议在整个应用程序中使用java.time包。
以上就是如何使用Java 8中DateTimeFormatter类详解的详细内容,更多关于Java8 DateTimeFormatter类的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- java用LocalDateTime类获取当天时间、前一天时间及本周/本月的开始和结束时间
- Java中@DateTimeFormat @JsonFormat失效原因及测试填坑
- Java关于后端怎么去接收Date、LocalDateTime类型的参数详解
- Java8中对于LocalDateTime的序列化和反序列化问题
- Java8中的LocalDateTime你会使用了吗
- java Date获取年月日时分秒的实现方法
- java整数(秒数)转换为时分秒格式的示例
- Java输出系统当前的日期(年月日时分秒毫秒)
- Java里得到00:00:00格式的时分秒的Timestamp
- java datetime数据类型去掉时分秒的案例详解