在Java 8中将日期从长格式转换为LocalDateTime格式

在Java 8中将日期从长格式转换为LocalDateTime格式,datetime,java-8,java-time,localdate,Datetime,Java 8,Java Time,Localdate,我使用的是java 8,我有一个方法,该方法接受长格式参数中的日期,并从java.time.LocalDateTime库返回LocalDateTime中的日期 在java版本

我使用的是java 8,我有一个方法,该方法接受长格式参数中的日期,并从java.time.LocalDateTime库返回LocalDateTime中的日期

在java版本<8之前,我使用java.util.Date,但现在我需要使用java.time.LocalDateTime,但我找不到关于如何从long值转换为LocalDateTime的文档

之前:

公共日期设置日期长ldate{ Date newDate=新日期日期; 返回newDate; } 现在:

公共LocalDateTime setDatelong ldate{ LocalDateTime-newDate; //{从long转换为LocalDateTime} 返回新日期 }
谢谢你的帮助

您可以实现如下方法:how LocalDateTime:

公共LocalDateTime setDatelong ldate{ Date dateLong=新日期日期; Instant Instant=dateLong.toInstant; ZoneId defaultZoneId=ZoneId.systemDefault; LocalDateTime LocalDateTime=instant.atZonedefaultZoneId.toLocalDateTime; 返回localDateTime; }
@ernest_k我想这可能就是我要找的,你能解释一下什么是大纪元时间吗?查看这个维基百科页面:在你的例子中,ldate是毫秒数,因为epochloaldatetime是一个错误的类。阅读它的类JavaDoc。暂时,使用Instant、OffsetDateTime或ZonedDateTime。没有必要将糟糕的遗留类Date与现代的java.time类混为一谈。请参阅Instant.ofEpoch…方法。LocalDateTime是错误的类。该类丢弃有价值的时区信息。改用ZoneDateTime。