String 和 LocalDate 借助 DateTimeFormatter
//String -> LocalDateTime
String timeStr = "2022/6/20"
LocalDate parse = LocalDate.parse(timeStr,
DateTimeFormatter.ofPattern("yyyy/M/dd"));
//LocalDateTime -> String
LocalDateTime now = LocalDateTime.now();
//s = 2022-06-20T18:42:35.332
String s = now.toString();
Date 和 LocalDate 借助 Instance
Date date = new Date();
//Date -> LocalDate
LocalDate localDate = date.toInstant()
.atZone(ZoneId.systemDefault()).toLocalDate();
//Date -> LocalDateTime
LocalDateTime localDateTime = date.toInstant()
.atZone(ZoneId.systemDefault()).toLocalDateTime();
System.out.println("localDate = " + localDate);
System.out.println("localDateTime = " + localDateTime);
//LocalDateTime -> Date
Date from = Date
.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
System.out.println("from = " + from);
Date 和 String 借助 SimpleDateFormat
String date = "2022/6/20 23:11:59";
//String -> Date
SimpleDateFormat dateFormat =
new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
Date parse = dateFormat.parse(date);
//parse = Mon Jun 20 23:11:59 CST 2022
System.out.println("parse = " + parse);
//Date -> String
String s = parse.toString();
//s = Mon Jun 20 23:11:59 CST 2022
System.out.println("s = " + s);
测一测,下面的代码是否报错?
如果会报错,请现将那个 parse 发到评论区。然后自己CV玩一把看看吧~~~
String timeStr = "2022/10/30";
LocalDate parse = LocalDate.parse(timeStr,
DateTimeFormatter.ofPattern("yyyy/MM/dd"));
System.out.println("parse = " + parse);
LocalDate parse2 = LocalDate.parse(timeStr,
DateTimeFormatter.ofPattern("yyyy/M/dd"));
System.out.println("parse2 = " + parse2);
String timeStr2 = "2022/3/30";
LocalDate parse3 = LocalDate.parse(timeStr2,
DateTimeFormatter.ofPattern("yyyy/MM/dd"));
System.out.println("parse3 = " + parse3);
LocalDate parse4 = LocalDate.parse(timeStr2,
DateTimeFormatter.ofPattern("yyyy/M/dd"));
System.out.println("parse4 = " + parse4);
String timeStr3 = "2022/03/30";
LocalDate parse5 = LocalDate.parse(timeStr3,
DateTimeFormatter.ofPattern("yyyy/MM/dd"));
System.out.println("parse5 = " + parse5);
LocalDate parse6 = LocalDate.parse(timeStr3,
DateTimeFormatter.ofPattern("yyyy/M/dd"));
System.out.println("parse6 = " + parse6);