/*
DateTimeFormatter:格式化或解析日期、时间
类似于SimpleDateFormat
*/
@Test
public void test3(){
//方式一:预定义的标准格式 如:
//ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
//格式化: 日期 ---> 字符串
LocalDateTime localDateTime = LocalDateTime.now();
String str1 = formatter.format(localDateTime);
System.out.println(localDateTime);
System.out.println(str1);//2022-04-25T14:54:57.0639562
//解析:字符串 ---> 日期
TemporalAccessor parse = formatter.parse("2022-04-25T14:54:57.0639562");
System.out.println(parse);//{},ISO resolved to 2022-04-25T14:54:57.063956200
//方式二:本地化相关的格式 如:ofLocalizedDateTime(FormatStyle.LONG)
//FormatStyle.LONG/FormatStyle.MEDIUM/FormatStyle.SHORT :适用于LocalDateTime
DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
//格式化
String str2 = formatter1.format(localDateTime);
System.out.println(str2);// 2022/4/25 下午3:08
// 本地化相关的格式 如:ofLocalizedDate()
//FormatStyle.FULL/FormatStyle.LONG/FormatStyle.SHORT/FormatStyle.MEDIUM :适用于LocalDate
DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
//格式化
String str3 = formatter2.format(LocalDate.now());
System.out.println(str3);//2022年4月25日星期一
//方式三:自定义的格式 如:ofPattern("yyyy-MM-dd hh:mm:ss")
DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
//格式化
String str4 = formatter3.format(LocalDateTime.now());
System.out.println(str4);//2022-04-25 03:22:59
//解析
TemporalAccessor accessor = formatter3.parse("2022-04-25 03:22:59");
System.out.println(accessor);
//{MinuteOfHour=22, MicroOfSecond=0, HourOfAmPm=3, NanoOfSecond=0, SecondOfMinute=59, MilliOfSecond=0},ISO resolved to 2022-04-25
}
[常用类]DateTimeFormatter的使用
最新推荐文章于 2025-10-30 18:21:47 发布
本文详细介绍了如何使用Java的DateTimeFormatter进行日期时间的格式化和解析,包括预定义格式、本地化格式和自定义模式的实例。

1074

被折叠的 条评论
为什么被折叠?



