使用java8,我们知道使用ZoneId.default()
可以获得系统默认ZoneId
,但如何获取默认ZoneOffset
?
我发现ZoneId
有一些“规则”,每条规则都有ZoneOffset
,这是否意味着ZoneId
可能有多个ZoneOffset
?
答案 0 :(得分:0)
根据您的目标,您可能可以完全绕过ZoneOffset
。
假设您只需要一个ZoneOffset
例如LocalDateTime.ofEpochSecond()
,您可以替换
ZoneOffset offset = OffsetDateTime.now().getOffset();
LocalDateTime dt1 = LocalDateTime.ofEpochSecond(seconds, 0, offset);
与
LocalDateTime dt2 = LocalDateTime.ofInstant(
Instant.ofEpochSecond(seconds),
ZoneId.systemDefault());
其中dt1.equals(dt2)
是true
。