下面是详细的Java8中LocalDateTime与时间戳timestamp的互相转换攻略。
LocalDateTime转换为时间戳timestamp
将LocalDateTime转换为时间戳timestamp可以使用Instant
类的toEpochMilli()
方法,示例代码如下所示:
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
public class LocalDateTimeToTimestamp {
public static void main(String[] args) {
// 构造LocalDateTime 实例
LocalDateTime localDateTime = LocalDateTime.of(2021, 5, 1, 12, 0, 0);
// 转为时间戳
long timestamp = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
System.out.println("LocalDateTime to Timestamp: " + timestamp);
}
}
上述示例中,我们先用LocalDateTime
类创建了一个指定日期时间的实例,然后使用该实例的toInstant()
方法将其转换为Instant
类实例,并同时指定了时区偏移量(ZoneOffset.of("+8")
表示东八区)。最后通过toEpochMilli()
方法获取到时间戳timestamp。
时间戳timestamp转换为LocalDateTime
将时间戳timestamp转换为LocalDateTime可以使用Instant
类的ofEpochMilli()
方法,示例代码如下所示:
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
public class TimestampToLocalDateTime {
public static void main(String[] args) {
// 设定时间戳
long timestamp = 1622520000000L;
// 转换为LocalDateTime
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), ZoneOffset.of("+8"));
System.out.println("Timestamp to LocalDateTime: " + localDateTime);
}
}
上述示例中,我们先设定了一个指定时间戳的值(毫秒级别),然后使用Instant
类的ofEpochMilli()
方法将时间戳转换成Instant
类实例,并同时指定了时区偏移量。最后使用LocalDateTime
类的静态方法ofInstant()
将Instant
类实例转换成LocalDateTime
类实例,即可获取到本地日期时间。
通过以上两个示例,我们就可以实现Java8中LocalDateTime与时间戳timestamp的互相转换了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java8中LocalDateTime与时间戳timestamp的互相转换 - Python技术站