小编Tra*_*man的帖子

使用Java 8 java.time api解析ISO时间戳(仅限标准版)

我在例子中从字符串中获取毫秒数时遇到麻烦.到目前为止,我已经尝试了这三种不同的方式,示例显示了最新的尝试.似乎总是认为TemporalAccessor不支持ChronoField.如果我可以成功构建一个Instant实例,我可以使用toEpochMilli().

String dateStr = "2014-08-16T05:03:45-05:00"
TemporalAccessor creationAccessor = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(dateStr);
Instant creationDate = Instant.from(creationAccessor);
Run Code Online (Sandbox Code Playgroud)

请提供简明的答案(不要从头开始构建格式化程序)并仅使用java 8标准发行版(我可以使用Joda,但希望避免依赖项).

编辑:上面代码中的Instant.from抛出:java.time.DateTimeException: Unable to obtain Instant from TemporalAccessor: {OffsetSeconds=-18000},ISO resolved to 2014-08-16T05:03:45 of type java.time.format.Parsed

java datetime string-parsing java-8 java-time

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

datetime ×1

java ×1

java-8 ×1

java-time ×1

string-parsing ×1