【发布时间】:2018-06-02 18:27:42
【问题描述】:
我能否以某种方式使用 OffsetDateTime.parse(....) 解析一个没有偏移的日期时间
Java 代码:
DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS XXX");
OffsetDateTime date = OffsetDateTime.parse("2017-02-03 12:30:3000", FORMATTER);
我将 datetime 作为 String 没有偏移量,但需要将其解析为 OffsetDateTime,我知道我在这里需要一个偏移量,但我可以更改 String 以插入默认/虚拟偏移量(可能是 +00:00)并使用 OffsetDateTime 解析它。问题是对象必须是OffsetDateTime。
【问题讨论】:
-
你可以这样做:
OffsetDateTime date = LocalDateTime.parse("2017-02-03 12:30:3000", FORMATTER).atOffset(ZoneOffset.UTC); -
@peter 我通过下面的代码让它工作了一半,但它产生 2017-02-03T12:30:30+11:00 而不是 2017-02-03 12:30:30+11:00我想在
DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); OffsetDateTime date = OffsetDateTime.of(LocalDateTime.parse("2017-02-03 12:30:30.000", FORMATTER), OffsetDateTime.now().getOffset());之间摆脱T -
那么你应该在之后使用
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssXXX").format(date)格式化解析的日期 -
12:30:3000??这是什么意思?
标签: java date datetime datetime-format