我有时间戳的格式 2020-05-12 12:00:00+00
. 如何才能解析成Java.util.Date和Java.time.Instant.看似基本的问题,但我怀疑这是我还没有解决的问题的根源。纫
Java 8介绍 DateTimeFormatter
. 这里是链接到 DateTimeFormatter文档.
例如
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ssx");
String tsFromDb = "2020-05-12 12:00:00+00";
Instant inst = formatter.parse(tsFromDb, Instant::from);
System.out.println(inst);
输出:
2020-05-12T12:00:00Z
如果你需要 java.util.Date
:
Date oldfashionedDate = Date.from(inst);
System.out.println(oldfashionedDate);
在美国蒂华纳时区输出。
Tue May 12 05:00:00 PDT 2020