I've written a simple method to parse a specific kind of ISO 8601 timestamp (GMT, with milliseconds), into a DateTime.
I'm looking to replace it with something that can parse any ISO 8601 timestamp (with or without element separators, missing elements like seconds or milliseconds, with timezone, etc.) Rather that re-inventing the wheel, I'm wondering about using a built-in method.
A similar question about converting ISO 8601 timestamps in Java on Stack Overflow pointed out that, "JAXB must be able to parse ISO8601 date string according to the XML Schema specification".
I don't know what JAXB is, or whether it's available from Apex, but I do know that Apex has all sorts of XML parsers and WSDL tools. The XMLNode class doesn't have an ISO 8601 parser, but I did find mention of one as part of the JSONParser class (getDatetimeValue()
method), and I plan to use that in a wrapper for my conversion.
I'm wondering:
- If there's something simpler.
- If there are known limitations of
getDatetimeValue()
fromJSONParser
.