package com.itheima.jdk8_time;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class _DataTimeFormatter {
public static void main(String[] args) {
//1.创建一个日期时间格式化器对象出来
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
//2.对时间进行格式化
LocalDateTime now = LocalDateTime.now();
System.out.println(formatter.format(now)); //方法一 正向
System.out.println(now.format(formatter)); //方法二 逆向
//解析时间,一般使用LocalDateTime提供的解析方法
String dateStr = "2029年2月23日 12:23:32";
LocalDateTime date = LocalDateTime.parse(dateStr, formatter);
//System.out.println(date);
//1.创建一个日期格式化器对象出来
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
//formatter是格式化对象,后续想把时间格式化要用到这个对象的format方法,返回值是String类型的
System.out.println(formatter1);
System.out.println("-------------------------");
String dateStr1 = "2029年12月12日 12:12:11";
LocalDateTime ldt = LocalDateTime.parse(dateStr1, formatter);
System.out.println(ldt);
}
}
报错内容:
Exception in thread "main" java.time.format.DateTimeParseException: Text '2029年2月23日 12:23:32' could not be parsed at index 5
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
at com.itheima.jdk8_time._DataTimeFormatter.main(_DataTimeFormatter.java:19)
第一个解析报错,第二个却没问题