我似乎误解java.util.Date
从和的转换java.time.Instance
。我有一些遗留的代码,我需要与ineract,这代码使用java.util.Date
它的API中。
当偏移量在加入我略有困惑Date
API。这是我的理解Date
是UTC时间(“Date类打算反映协调世界时(UTC)”),但是当我创建一个Date
从Instant
添加的偏移:
public class TestDateInstant {
@Test
public void instantdate() {
Instant i = Instant.now();
System.out.println(i);
Date d = Date.from(i);
System.out.println(d);
assertThat(i, equalTo(d.toInstant()));
}
}
有说法认为,但控制台上的输出:
2017-09-26T08:24:40.858Z
Tue Sep 26 10:24:40 CEST 2017
我很奇怪,为什么Date.from
采用这种情况下的偏移量。
Date
或者Instant
两者都不是具体到一个时区。所不同的是,当你打印出来。
Instant.toString()
版画在UTC时区ISO-8601表示。
Date.toString()
它打印在当前的时区。
这就是为什么你看到其中的差别。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句