Java日期或时间相加减

java.time.LocalDateTime是一个可以表示日期时间的对象,代表日期时间,也提供了日期LocalDate和时间LocalTimeLocalDateTime的时间精度为纳秒精度(1秒=1000毫秒,1毫秒=1000微秒,1微秒=1000纳秒)
后续开发尽量使用LocalDateTime等新工具提高性能和并发处理安全性,更多操作百度上太多就不再这里详述了

时间加减操作,支持各种维度

LocalDate.now();
LocalTime.now();
LocalDateTime.now();
LocalDateTime.parse("2022-02-01");
LocalDateTime.of(2022, 7, 25, 8, 0, 0);
LocalDateTime.now().plusYears(-3); //减去3年
LocalDateTime.now().plusWeeks(1); //加1周
LocalDateTime.now().minusHours(5); //加5小时
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")); //序列化

时间类型转换

LocalDateTime d = LocalDateTime.now();

  • d.toDate()可以转为Date对象
  • d.toLocalDate()转为LocalDate

例子

@Data
@TableName("person")
public class Person implements Serializable {

    @TableId(value = "id")
    private Long id;

    private String username;

    private LocalDateTime birthDate;
}