首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jdk8中来自本地日期的EpochSeconds

jdk8中来自本地日期的EpochSeconds
EN

Stack Overflow用户
提问于 2020-06-09 01:07:27
回答 1查看 56关注 0票数 0

我在JDK8中得到错误ofInstant不是LocalDate的成员。

代码语言:javascript
复制
LocalDate.ofInstant(Instant.now(), zone).atStartOfDay(ZoneId.of("Z")).toEpochSecond

它在jdk11中运行得很好。怎样才能在jdk8中以最得体的方式做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2020-06-09 01:43:54

LocalDate.ofInstant方法是在Java9中引入的,下面是我无论使用Java8、9还是11都会使用的版本:

代码语言:javascript
复制
    ZoneId zone = ZoneId.of("Asia/Gaza");
    long epochSecond = LocalDate.now(zone).atStartOfDay(ZoneOffset.UTC).toEpochSecond();
    System.out.println("epochSecond: " + epochSecond);

如果您填写相同的时区,它会给出与您的代码相同的结果。

在Java8中,如果需要从给定的Instant进行转换,请执行以下操作:

代码语言:javascript
复制
    Instant inst = Instant.now(); // Assign your Instant value here
    long epochSecond = inst.atZone(zone)
            .toLocalDate()
            .atStartOfDay(ZoneOffset.UTC)
            .toEpochSecond();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62267513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档