如何在java8中获取默认的ZoneOffset?

时间:2017-01-02 13:02:44

标签: java java-8 timezone timezone-offset

使用java8,我们知道使用ZoneId.default()可以获得系统默认ZoneId,但如何获取默认ZoneOffset

我发现ZoneId有一些“规则”,每条规则都有ZoneOffset,这是否意味着ZoneId可能有多个ZoneOffset

1 个答案:

答案 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