使用时区将字符串时间戳转换为 Scala 时间戳会引发无法解析的异常

Converting String timestamp to Scala Timestamp with Timezone throws Unparseable exception

我正在使用字符串格式的时间戳。并尝试将它们转换为时间戳值。它为我抛出异常。

谁能告诉我我做错了什么:

val s = "2017-12-14T09:54:52.662-06:00"
val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")

val ts = new Timestamp(format.parse(s).getTime)

Throws: java.text.ParseException: Unparseable date: "2017-12-14T09:54:52.662-06:00"

那是因为你用错了模式。尝试打印 format.format(new Date()) 你会看到。

正确的模式:

val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX")