Which format I should use to parse a String date (using ISO 8601) in Scala?
2018-12-13T19:19:08.266120+00:00
I just try some patterns but no success. This code show me a near date as String, but when I try with a String above, with timezone info, I get error.
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SXXX").format(new Date())
Result:
2018-12-14T17:41:24.929-02:00
Error:
java.text.ParseException: Unparseable date: "2018-12-13T19:19:08.266120+00:00" at java.text.DateFormat.parse(DateFormat.java:366) ... 29 elided
The DateTimeFormatter
class includes a number of predefined formats, including a few ISO formats. Here's one that appears to work for your example String
.
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter._
val dts = "2018-12-13T19:19:08.266120+00:00"
LocalDateTime.parse(dts, ISO_DATE_TIME)
//res0: java.time.LocalDateTime = 2018-12-13T19:19:08.266120