我在将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