When parsing dates and times from XML documents into JodaTime objects, I use a common set of conversion utilities, generally using the parsers and formatters supplied by org.joda.time.format.ISODateTimeFormat
.
This works fine in the majority of cases, but this time I'm seeing documents with the xs:date
value of the format 2010-08-19Z
. This is a perfectly valid xs:date
value, but none of the standard ISODateTimeFormat
-generated LocalDate
parsers I've tried will accept it. The closest I can find is ISODateTimeFormat.dateParser()
, which will accept the rather odd-looking 2010-08-19TZ
, but not 2010-08-19Z
(note the T
).
This is all quite irritating, since both Joda and XML Schema are supposed to strictly adhere to the ISO date/time formatting rules, but either one of them isn't, or the spec is fuzzy.
Before I admit defeat and hand-roll a custom format, can anyone point me at a ISODateTimeFormat
-sourced parser that will read that value?