将字符串时间戳转换为带时区的Scala时间戳会引发不可解析的异常
我正在使用字符串格式的时间戳。并尝试将它们转换为时间戳值。这对我来说是个例外 谁能告诉我我做错了什么将字符串时间戳转换为带时区的Scala时间戳会引发不可解析的异常,scala,simpledateformat,timestamp-with-timezone,Scala,Simpledateformat,Timestamp With Timezone,我正在使用字符串格式的时间戳。并尝试将它们转换为时间戳值。这对我来说是个例外 谁能告诉我我做错了什么 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: Unparseab
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(newdate())
,您将看到
正确模式:
val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
我建议您避免使用
SimpleDateFormat
类。它不仅早已过时,而且还出了名的麻烦<代码>时间戳也过时了。今天我们的生活好多了。