0%

Date、LocalDateTime之间的区别

区分一下Date、LocalDateTime易混淆的点。

一、java.util.Date

1
Wed Aug 04 18:31:12 CST 2021
  • 可读性差。

  • 由于Calendar为共享变量,在多线程并发下会产生线程安全问题。

二、java.time.LocalDateTime

1
2021-07-04T18:31:12

可读性高,线程安全。

三、对应MySQL数据库字段类型

  • java.util.Date和java.time.LocalDateTime都对应着MySQL中的datetime/timestamp。
  • java.util.Date有时区,java.time.LocalDateTime无时区。

四、Web项目中格式化输入输出注解

1
2
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
  • @DateTimeFormat为格式化输入注解
  • @JsonFormat为格式化输出注解