【发布时间】:2016-03-09 02:13:04
【问题描述】:
我得到日期时间值
created_at '2012-02-22T02:06:58.147Z'
Read-only. The time at which this task was created.
这是由 Asana API 给出的
我使用Java 8解析日期时间如下
import java.time.*;
import java.time.format.*;
public class Times {
public static void main(String[] args) {
final String dateTime = "2012-02-22T02:06:58.147Z";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'hh:mm:ss.SX");
final ZonedDateTime parsed = ZonedDateTime.parse(dateTime, formatter);
System.out.println(parsed);
}
}
当我运行它时,我得到以下错误
Exception in thread "main" java.time.format.DateTimeParseException: Text '2012-02-22T02:06:58.147Z' could not be parsed at index 21
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1947)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1849)
at java.time.ZonedDateTime.parse(ZonedDateTime.java:597)
at Times.main(Times.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
这里有什么不对的地方?
【问题讨论】:
-
您可能需要更改为“yyyy-M-d”来处理个位数的月份和日期。
标签: java datetime java-8 java-time