有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Mongodb生成无效字符串[UTC]的日期对象的java奇怪行为

我被困在java的一种奇怪行为之间。util。日期对象。我使用的是mongodb,所有日期都存储在UTC中。而数据库中存储的值都是正确的

"dateCreated" : ISODate("2021-05-08T15:37:48.882Z")

但当它被映射到java类型的Pojo属性时。util。输出的日期

"dateCreated":"2021-05-08T15:37:48.882Z[UTC]"

还有一个我不明白为什么的[UTC]?有人发现这个问题了吗? 我将quarkusjdk11一起使用,用于mongo连接的库是io.quarkus:quarkus-mongodb-panache

编辑:

为了处理安卓应用程序中的信息,我创建了一个自定义反序列化程序:

class DateDeserializer(vc: Class<*>?) : StdDeserializer<Date>(vc) {

    constructor() : this(Date::class.java)

    override fun deserialize(p: JsonParser?, ctxt: DeserializationContext?): Date {
//        TODO("Not yet implemented")
        return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            Date.from(ZonedDateTime.parse(p?.text).toInstant())
        } else {
            TODO("VERSION.SDK_INT < O")
        }
    }

}

但正如我所说,这似乎不是一个更干净的方法

如果需要更多信息,请告诉我


共 (0) 个答案