记录此代码时,我得到两个输出:
private void meth(Date date) {
LOG.info(
date.toInstant()
.atZone(ZoneId.systemDefault())
.format(DateTimeFormatter.ISO_DATE_TIME));
LocalDateTime ldt = LocalDateTime.ofInstant(
date.toInstant(),
ZoneId.systemDefault()
);
LOG.info(ldt.format(DateTimeFormatter.ISO_DATE_TIME));
}
我正在获取这些日志:
2019-04-01 13:13:32.195 INFO --- : 2019-01-01T01:00:00+01:00[Europe/Madrid]
2019-04-01 13:13:32.197 INFO --- : 2019-01-01T01:00:00
ldt
失去了原来的时区吗?
我该怎么关心?
答案 0 :(得分:3)
答案 1 :(得分:1)
LocalDateTime是不带时区的日期时间:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html