【发布时间】:2017-02-02 21:58:02
【问题描述】:
我正在从 Wikidata 读取数据。它们代表他们的时间点属性,P585 使用 ISO 8601 规范。但是,与+相同的众生。
如果我使用 Joda,那么将 String 转换为 joda dateTime 会非常简单。
new DateTime(dateTime, DateTimeZone.UTC);
但是,当我执行LocalDateTime.parse("+2017-02-26T00:00:00Z") 时,我收到一条错误消息,提示无法解析索引 0 处的字符。在 Java 8 中是否有此原因。Joda 很容易做到,没有任何错误。
我也尝试过LocalDateTime.parse("+2017-02-26T00:00:00Z", DateTimeFormatter.ISO_DATE_TIME),但没有成功。
我们如何绕过加号而不必通过字符串操作将其删除?
【问题讨论】:
-
你能在解析前剪掉前面的加号吗?尝试解析
str.replaceAll("^\\+", "")。 -
这种格式的“+”是什么意思?
-
加号表示年份。
-
是的,我可以修剪加号,但不想这样做,因为 joda.time 可以轻松解析它。我希望 java.time 能解决这个问题。