我有一个Spring Boot JPA应用程序,它与第三方API进行交互。API的响应有效载荷具有一个密钥
“ created_at”:1591988071
我需要将此字段解析为java.time.Instant,以便可以与数据库中的值进行一些比较。我了解到可以使用下面提到的代码。
Instant instant = Instant.ofEpochSecond(1591988071);
输出:
2020-06-12T18:54:31Z
但是老实说,这个输出关闭了几个小时。
[我找到了另一种方法,如果使用的话
String dateAsText = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(new Date(1591988071 * 1000L));
System.out.println(dateAsText);
我得到了所需的输出,但为String格式。
2020-06-13 00:24:31
有人可以告诉我如何获取上述String输出,但转换为java.time.Instant类型吗?
Instant instant = Instant.ofEpochSecond(1591988071);
System.out.println(instant);
final ZonedDateTime losAngeles = instant.atZone(ZoneId.of("America/Los_Angeles"));
System.out.println(losAngeles);
final ZonedDateTime mumbai = instant.atZone(ZoneId.of("UTC+0530"));
System.out.println(mumbai);
这会给您一些您可能期望的东西
2020-06-12T18:54:31Z
2020-06-12T11:54:31-07:00[America/Los_Angeles]
2020-06-13T00:24:31+05:30[UTC+05:30]