Java LocalDate - 在 MongoDB 中保存时时间会附加到日期上?
Java LocalDate - Time gets appended onto date when saving in MongoDB?
我有以下 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
}
当我对我的 Spring Boot
REST 网络应用程序执行 POST
时 JSON
正文:
{
"userId": "user3",
"date": "20-01-2020"
}
日期在 Mongo 中持久化如下:
2020-01-20T00:00:00.000+00:00
如何让日期保持简单:
20-01-2020
这不是 Java 问题,MongoDB 使用类似于 JavaScript 日期格式的日期格式。
如果您只想保存 dd-MM-YYYY,您可能需要将列类型更改为字符串。
如果不可能,那么您需要将序列化程序重写为 return 日期的字符串表示形式(当然还要重写反序列化程序以将该字符串解析为 LocalDate
我有以下 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
}
当我对我的 Spring Boot
REST 网络应用程序执行 POST
时 JSON
正文:
{
"userId": "user3",
"date": "20-01-2020"
}
日期在 Mongo 中持久化如下:
2020-01-20T00:00:00.000+00:00
如何让日期保持简单:
20-01-2020
这不是 Java 问题,MongoDB 使用类似于 JavaScript 日期格式的日期格式。 如果您只想保存 dd-MM-YYYY,您可能需要将列类型更改为字符串。 如果不可能,那么您需要将序列化程序重写为 return 日期的字符串表示形式(当然还要重写反序列化程序以将该字符串解析为 LocalDate