当前位置:
首页 >
Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
发布时间:2024/9/30
51
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法
// Obtains an instance of Date from an Instant object. public static Date from(Instant instant) {try {return new Date(instant.toEpochMilli());} catch (ArithmeticException ex) {throw new IllegalArgumentException(ex);} }// Converts this Date object to an Instant. public Instant toInstant() {return Instant.ofEpochMilli(getTime()); }这两个方法使我们可以方便的实现将旧的日期类转换为新的日期类,具体思路都是通过Instant当中介,然后通过Instant来创建LocalDateTime(这个类可以很容易获取LocalDate和LocalTime),新的日期类转旧的也是如此,将新的先转成LocalDateTime,然后获取Instant,接着转成Date,具体实现细节如下:
// 01. java.util.Date --> java.time.LocalDateTime public void UDateToLocalDateTime() {java.util.Date date = new java.util.Date();Instant instant = date.toInstant();ZoneId zone = ZoneId.systemDefault();LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); }// 02. java.util.Date --> java.time.LocalDate public void UDateToLocalDate() {java.util.Date date = new java.util.Date();Instant instant = date.toInstant();ZoneId zone = ZoneId.systemDefault();LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);LocalDate localDate = localDateTime.toLocalDate(); }// 03. java.util.Date --> java.time.LocalTime public void UDateToLocalTime() {java.util.Date date = new java.util.Date();Instant instant = date.toInstant();ZoneId zone = ZoneId.systemDefault();LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);LocalTime localTime = localDateTime.toLocalTime(); }// 04. java.time.LocalDateTime --> java.util.Date public void LocalDateTimeToUdate() {LocalDateTime localDateTime = LocalDateTime.now();ZoneId zone = ZoneId.systemDefault();Instant instant = localDateTime.atZone(zone).toInstant();java.util.Date date = Date.from(instant); }// 05. java.time.LocalDate --> java.util.Date public void LocalDateToUdate() {LocalDate localDate = LocalDate.now();ZoneId zone = ZoneId.systemDefault();Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();java.util.Date date = Date.from(instant); }// 06. java.time.LocalTime --> java.util.Date public void LocalTimeToUdate() {LocalTime localTime = LocalTime.now();LocalDate localDate = LocalDate.now();LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);ZoneId zone = ZoneId.systemDefault();Instant instant = localDateTime.atZone(zone).toInstant();java.util.Date date = Date.from(instant); }转载自:https://www.cnblogs.com/exmyth/p/6425878.html
总结
以上是生活随笔为你收集整理的Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java常见代码块的作用与区别
- 下一篇: 《Java 核心技术卷1 第10版》学习