java - Java LocalDate - 在 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
}
当我使用BodyPOST
对我的Spring Boot
REST Web 应用程序执行操作时: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,您可能需要将列类型更改为字符串。如果不可能,那么您需要重写序列化程序以返回日期的字符串表示形式(当然还要重写反序列化程序以将该字符串解析为 LocalDate
推荐阅读
- lambda-calculus - Lambda 演算:重新排序变量
- ansible - Ansible 导入角色有条件地运行
- python - 加权平均值作为 Pandas 中的一列
- sql-server - 跨域委托 - 环回
- java - 缺少 Java 16 tools.jar
- logging - 每次SSIS包执行时如何覆盖日志文件?我正在使用文本文件类型的日志提供程序
- flutter - 使用 Firebase 收听 Stream 与 StreamBuilder 的结果不同
- kotlin - when 语句中的多个条件
- java - 我正在尝试使用 HC-05 模块制作一个通过蓝牙交换数据的应用程序
- android - 无法访问外部库中的本机文件 - android