2

我从不是 ISO 格式的 API 中获取了类似“2021-03-26 22:02:53”格式的日期,我为它创建了一个自定义序列化程序,但出现错误。我也不想使用 ISO 格式,我想将日期发回为“yyyy-mm-dd hh:mm:ss”。

由于我们不能在 Kotlin 多平台中使用 Java.Date,那么像这样序列化日期格式的正确解决方案是什么?

打开代码文件的 IDE

调试帧变量

谢谢

4

1 回答 1

2

目前,kotlinx-datetime 仅支持 ISO 格式。

但是,您期望的格式与 ISO 足够接近,因此您可以通过简单地将空格替换为 a 来调整它,T并且应该很好。这并不理想,但它应该在等待 Kotlinx 日期时间提供适当的格式支持时完成这项工作。

return decoder.decodeString().replace(' ', 'T').toLocalDateTime()

您也可以在序列化时执行相反的操作:

encoder.encodeString(value.toString().replace('T', ' '))
于 2021-06-07T18:30:04.330 回答