将带有“+”的时间戳解析为 Java 中的日期或即时
Parsing timestamp with '+' into Date or Instant in Java
我有 2020-05-12 12:00:00+00
格式的时间戳。我如何解析为 Java.util.Date 和 Java.time.Instant。
看似基本的问题,但我怀疑这是我在
中尚未解决的问题的根源
Java 8 介绍DateTimeFormatter
。这是 link 到 DateTimeFormatter Documentation.
例如:
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);
America/Tijuana 时区的输出:
Tue May 12 05:00:00 PDT 2020
我有 2020-05-12 12:00:00+00
格式的时间戳。我如何解析为 Java.util.Date 和 Java.time.Instant。
看似基本的问题,但我怀疑这是我在
Java 8 介绍DateTimeFormatter
。这是 link 到 DateTimeFormatter Documentation.
例如:
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);
America/Tijuana 时区的输出:
Tue May 12 05:00:00 PDT 2020