Java LocalDate - 保存在 MongoDB 中时,时间会附加到日期上吗?

标签 java json mongodb localdate date

我有以下 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/

相关文章:

objective-c - 访问未知字典键的值

c# - 如何读取json文件并在自定义类中序列化?

node.js - 更新 MongoDb 子文档中数组中的特定文档

java - 为什么需要使用多个构造函数?

java - 如何将 JAR 文件作为 Java 程序运行,特别是 http ://iapg. jade-hs.de/personen/brinkhoff/generator/

java - 如何在java中杀死名称服务器进程

java - 在远程位置压缩文件夹

php - json 数据字段和 php json 函数

node.js - MongoError : Invalid Operation, 没有批量插入操作

mongodb - MongoError 未知顶级运算符 : $set