使用opencsv解析csv中的OffsetDateTime:2021-05-09T12:23:55+;0100

使用opencsv解析csv中的OffsetDateTime:2021-05-09T12:23:55+;0100,datetime,kotlin,datetime-format,opencsv,Datetime,Kotlin,Datetime Format,Opencsv,我试图使用openCsv将csv条目“2021-05-09T12:23:55+0100”解析为OffsetDateTime,如下所示: @CsvDate(value = "yyyy-MM-dd'T'HH:mm:ssZ") override var orderTimeStamp: OffsetDateTime? = null 根据其他帖子的各种建议,我尝试了以下格式: “yyyy-MM-dd'HH:MM:ssZ” “yyyy-MM-dd'HH:MM:ss'Z'” “yyyy

我试图使用openCsv将csv条目“2021-05-09T12:23:55+0100”解析为OffsetDateTime,如下所示:

@CsvDate(value = "yyyy-MM-dd'T'HH:mm:ssZ")
override var orderTimeStamp: OffsetDateTime? = null
根据其他帖子的各种建议,我尝试了以下格式:

  • “yyyy-MM-dd'HH:MM:ssZ”
  • “yyyy-MM-dd'HH:MM:ss'Z'”
  • “yyyy-MM-dd'HH:MM:ss+ZZZZ”
  • “yyyy-MM-dd'HH:MM:ss'+'Z”
  • “yyyy-MM-dd'HH:MM:ssX”
  • 等等
每次,我都会遇到相同的错误:

 com.opencsv.exceptions.CsvDataTypeMismatchException: Conversion of 2021-05-09T12:23:55+0100 to java.time.OffsetDateTime failed.

有人知道哪种特定格式可以正确解析这个吗?谢谢

“uuu-MM-dd'HH:MM:ssxx”模式如何?它适合我(在Java中,使用
u
而不是
y
不是必需的,但也是正确的)。。。最后是两个
x
。不,不幸的是,这不起作用。但是谢谢你。它们是否应该大写?使用模式的日期时间格式(“uuu-MM-dd'HH:MM:ssxx”)Direct确实有效。但是我不知道在使用
@CsvDate
注释时幕后是什么。尝试大写的
X
甚至
X
s和其他一些模式。一个小写的
x
也可以(在Java中)使用。我不打算将其作为主要答案发布,因为它不是很令人满意,但是如果有人遇到类似的问题并需要快速解决,我最终将其作为字符串导入,并在使用之前使用DateTimeFormatter对其进行映射。