我从 API 中获取了一个格式类似于“2021-03-26 22:02:53”的日期,该日期不是 ISO 格式,并且我为其创建了一个自定义序列化程序,但出现错误。 我也不想使用 ISO 格式,我想以“yyyy-mm-dd hh:mm:ss”的形式发回日期。
由于我们无法在 Kotlin 多平台中使用 Java.Date,那么序列化这样的日期格式的正确解决方案是什么?
谢谢
最佳答案
目前 kotlinx-datetime 仅支持 ISO 格式。
但是,您期望的格式足够接近 ISO,因此您可以通过简单地将空格替换为 T
来调整它,并且应该可以正常使用。这并不理想,但它应该在等待 Kotlinx 日期时间提供正确格式支持的同时完成这项工作。
return decoder.decodeString().replace(' ', 'T').toLocalDateTime()
序列化时您也可以执行相反的操作:
encoder.encodeString(value.toString().replace('T', ' '))
关于kotlin - 如何反序列化格式为 "yyyy-mm-dd hh:mm:ss"的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67876143/