【发布时间】:2019-05-31 22:58:30
【问题描述】:
呃……我这辈子都想不通。我正在使用 Java 8 并尝试做一些简单的事情,例如解析时间戳,其中 TimeZone ID 是文本值,例如 HST:
有效
ZonedDateTime timestamp = ZonedDateTime.parse("2018-10-29T12:00:12.456-10:00");
不工作
ZonedDateTime timestamp = ZonedDateTime.parse("2018-10-29T12:00:12.456HST");
并得到这个错误:
java.time.format.DateTimeParseException: Text '2018-10-29T12:00:12.456HST' could not be parsed at index 23
有谁知道如何解析时区 ID 作为文本值出现的时间戳?
【问题讨论】:
-
尝试是否可以避免依赖解析三个字母的时区缩写。它们不是标准化的,所以不能保证你得到什么。虽然 HST 可能仅表示夏威夷标准时间,但包括 PST、CST 和 EST 在内的最常用的缩写是模棱两可的。
标签: java timestamp timezone zoneddatetime