我在将java.time.Instant转换为java.util.Date时遇到问题:

System.out.println(item.getStart()); // getStart returns instant
System.out.println(Date.from(item.getStart()));


给出输出:

2017-08-29T00:00:00Z
Tue Aug 29 02:00:00 CEST 2017


为什么日期时间是02:00:00?以及如何与时间00:00:00进行转换

最佳答案

2017-08-29T00:00:00Z中,Z表示Zulu,表示UTC+0
因此,它在与Tue Aug 29 02:00:00 CEST 2017相同的时刻描述为UTC+2

它被打印为CEST,因为toString()方法的默认实现使用默认时区。

您可以尝试使用Java8 LocalDate代替。它没有任何时间信息。

如何进行转换,您可以在这里看到:https://stackoverflow.com/a/35187046/1199731

09-10 05:48
查看更多