我在 jdk 8 中收到错误 instant not member of LocalDate 。
LocalDate.ofInstant(Instant.now(), zone).atStartOfDay(ZoneId.of("Z")).toEpochSecond
它在 jdk11 中运行良好。如何在 jdk8 中以最体面的方式完成相同的操作。
我在 jdk 8 中收到错误 instant not member of LocalDate 。
LocalDate.ofInstant(Instant.now(), zone).atStartOfDay(ZoneId.of("Z")).toEpochSecond
它在 jdk11 中运行良好。如何在 jdk8 中以最体面的方式完成相同的操作。
该LocalDate.ofInstant
方法是在 Java 9 中引入的。无论使用 Java 8、9 还是 11,我都会使用以下版本:
ZoneId zone = ZoneId.of("Asia/Gaza");
long epochSecond = LocalDate.now(zone).atStartOfDay(ZoneOffset.UTC).toEpochSecond();
System.out.println("epochSecond: " + epochSecond);
如果您填写相同的时区,它会给出与您的代码相同的结果。
如果您需要从给定的 转换Instant
,在 Java 8 中执行:
Instant inst = Instant.now(); // Assign your Instant value here
long epochSecond = inst.atZone(zone)
.toLocalDate()
.atStartOfDay(ZoneOffset.UTC)
.toEpochSecond();