我在JDK8中得到错误ofInstant不是LocalDate的成员。
LocalDate.ofInstant(Instant.now(), zone).atStartOfDay(ZoneId.of("Z")).toEpochSecond它在jdk11中运行得很好。怎样才能在jdk8中以最得体的方式做到这一点。
发布于 2020-06-09 01:43:54
LocalDate.ofInstant方法是在Java9中引入的,下面是我无论使用Java8、9还是11都会使用的版本:
ZoneId zone = ZoneId.of("Asia/Gaza");
long epochSecond = LocalDate.now(zone).atStartOfDay(ZoneOffset.UTC).toEpochSecond();
System.out.println("epochSecond: " + epochSecond);如果您填写相同的时区,它会给出与您的代码相同的结果。
在Java8中,如果需要从给定的Instant进行转换,请执行以下操作:
Instant inst = Instant.now(); // Assign your Instant value here
long epochSecond = inst.atZone(zone)
.toLocalDate()
.atStartOfDay(ZoneOffset.UTC)
.toEpochSecond();https://stackoverflow.com/questions/62267513
复制相似问题