以不同格式存储的日期

Date stored in different format

这个日期 "2018-05-30T16:19:58.016Z" 来自我的 Angular 应用程序。 Spring中字段date如下:

@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private Date date;

日期存储得很好,但采用这种格式YYYY-MM-dd

有什么我遗漏的吗?

您可能必须指定存储的日期格式,因为 @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") 仅指定用于将日期解析为 Date 对象的日期格式。即使你的 Date 有所有的秒数和时区信息,默认的 Date toString() 仍然是

Formats a date in the date escape format yyyy-mm-dd.

根据 Java 8 个文档。因此,如果您使用它,它很可能会丢弃所有关于转换的额外信息。

您可以查看此 Convert java.util.Date to String 以获取有关如何将日期转换为格式化字符串的信息。

MySql date 类型不能保存带时间戳的数据。它必须是 datetime 才能包含带有时间戳数据的日期时间。