jdk8中localdate的EpochSeconds
Posted
技术标签:
【中文标题】jdk8中localdate的EpochSeconds【英文标题】:EpochSeconds from localdate in jdk8 【发布时间】:2020-09-27 17:45:24 【问题描述】:我在 jdk 8 中收到 Instant not member of LocalDate 的错误。
LocalDate.ofInstant(Instant.now(), zone).atStartOfDay(ZoneId.of("Z")).toEpochSecond
在 jdk11 中运行良好。在 jdk8 中如何以最体面的方式完成相同的操作。
【问题讨论】:
一个类似的问题将解决即时到本地日期的转换***.com/questions/52264768/… 【参考方案1】: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();
【讨论】:
以上是关于jdk8中localdate的EpochSeconds的主要内容,如果未能解决你的问题,请参考以下文章
JDK8中好用的日期处理-LocalDate类-LocalTime-LocalDateTIme,mysql解决时区相差13小时的问题,日期格式器DateTimeFormatter