我有以下 Java
实体:
public class Round {
private ObjectId _id;
@NotEmpty
@Getter
@Setter
@Accessors(fluent = true)
@JsonProperty("userId")
private String userId;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy")
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonSerialize(using = LocalDateSerializer.class)
@Getter
@Setter
@Accessors(fluent = true)
@JsonProperty("date")
private LocalDate date;
//other fields
}
当我使用 JSON
正文对我的 Spring Boot
REST Web 应用程序执行 POST
时:
{
"userId": "user3",
"date": "20-01-2020"
}
日期在 Mongo 中保存如下:
2020-01-20T00:00:00.000+00:00
如何让日期保持简单:
20-01-2020
最佳答案
这不是Java问题,MongoDB使用类似于JavaScript日期格式的日期格式。 如果您只想保存 dd-MM-YYYY,您可能需要将列类型更改为字符串。 如果不可能,那么您需要重写序列化器以返回日期的字符串表示形式(当然还要重写反序列化器以将该字符串解析为 LocalDate
关于Java LocalDate - 保存在 MongoDB 中时,时间会附加到日期上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60083825/