使用Instant.parse解析2018-05-01T00:00:00日期时出错。

这是我的代码,我使用Instant.parse来解析字符串。

String date = "2018-05-01T00:00:00";
Instant.parse(date)

并得到以下错误信息

java.time.format.DateTimeParseException: Text '2018-05-01T00:00:00' could not be parsed at index 19
        at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
        at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
        at java.time.Instant.parse(Instant.java:395)

我不能使用其他的 瞬间 所以寻找解决方案,它只

解决方案:

Instant.parse 将只接受在 ISO即时格式

从文本字符串中获取Instant的实例,如2007-12-03T10:15:30.00Z。

该字符串必须代表UTC中的有效瞬间,并使用DateTimeFormatter.ISO_INSTANT进行解析。

但你的字符串代表了 本地日期时间,所以将其解析为 LocalDateTime 进而转化为 Instant

在ISO-8601日历系统中没有时区的日期时间,如2007-12-03T10:15:30。

LocalDateTime dateTime = LocalDateTime.parse(date);
Instant instant = dateTime.atZone(ZoneId.of("America/New_York")).toInstant();

给TA打赏
共{{data.count}}人
人已打赏
未分类

C#跨线程操作在BackgroundWorker中无效。

2022-9-9 4:24:21

未分类

ARKit - 与真实世界对象的碰撞

2022-9-9 4:35:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索