`

如何在java8中愉快地处理日期和时间java8新增了localdate和localtim

阅读更多
java8中的localdate和localtime用法举例如下:
这两个方法使我们可以方便的实现将旧的日期类转换为新的日期类,具体思路都是通过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);
}
分享到:
评论

相关推荐

    LocalDate类获取日期和改变日期

    在Java 8中,Oracle对日期时间API进行了重大更新,引入了`java.time`包,以替换原有的`java.util.Date`和`java.util.Calendar`等过时的API。`LocalDate`是这个新包中的核心类之一,专门用于处理不包含时间部分的日期...

    java使用stream对日期排序

    然而,这些类存在一些设计上的问题,因此Java 8引入了新的日期时间API,包括`java.time.LocalDate`, `java.time.LocalDateTime`, 和 `java.time.ZonedDateTime`等。这里我们主要关注`LocalDate`,因为它是没有时区...

    Java-Java处理日期和时间教程

    在Java编程语言中,处理日期和时间是常见的需求,无论是记录日志、处理用户输入,还是进行数据分析。Java提供了多种库来帮助开发者有效地管理日期和时间。本教程将深入探讨Java处理日期和时间的核心概念、API以及...

    java8时间相关操作

    使用 Java 8 中的日期和时间相关操作,可以轻松地处理日期和时间相关的操作,提高开发效率和代码质量。 Java 8 中的日期和时间相关操作提供了非常强大和灵活的日期和时间处理功能,开发者可以根据需要选择合适的...

    java8中文api

    在Java 8之前,日期和时间处理主要依赖于`java.util.Date`和`java.util.Calendar`,这两个类存在许多问题。Java 8引入了`java.time`包,包括LocalDate、LocalTime、LocalDateTime、ZonedDateTime等类,提供了更强大...

    JAVA处理日期时间常用方法

    在Java中,主要使用`java.util.Date`、`java.util.Calendar`和`java.text.SimpleDateFormat`这三个核心类来处理日期时间。 首先,`java.util.Calendar`是一个抽象类,它提供了对日期和时间的高级操作。例如,你可以...

    Java8中文文档

    4. **日期和时间API**:Java 8彻底改革了日期和时间处理,引入了`java.time`包,包含`LocalDate`、`LocalTime`、`LocalDateTime`等类,取代了原来的`java.util.Date`和`java.util.Calendar`。这些新类提供了更加友好...

    java8中文文档API

    Java 8对日期和时间API进行了彻底的改革,引入了`java.time`包,包含`LocalDate`, `LocalTime`, `LocalDateTime`等类,以及`ZonedDateTime`和`Duration`等,提供了更直观和强大的日期时间处理功能。 **8. Nashorn ...

    Java8时间和日期API20例Java开发Java经验技

    Java 8 引入了全新的 `java.time` 包,提供了更加直观和强大的工具,使得开发者能够更轻松地处理日期、时间问题。 以下是一些关键知识点: 1. **LocalDate**: `LocalDate` 类用于表示没有时区信息的日期。你可以...

    java获取时间大全

    Java获取时间是一个重要的编程任务,尤其在开发过程中处理日期和时间相关的逻辑时。Java提供了多种方式来操作和...在实际开发中,根据项目需求选择合适的时间处理类和方法,可以更好地处理各种日期和时间相关的问题。

    JAVA时间和日期图解.rar

    总的来说,这个"JAVA时间和日期图解"教程将帮助你掌握Java中处理日期和时间的最佳实践,理解新的`java.time`包的优势,以及如何在实际项目中有效地使用这些工具。通过学习,你将能够编写出更优雅、更易于维护的日期...

    解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题

    在Java 8中引入了新的时间日期API,包括LocalDate、LocalTime和LocalDateTime等,这些API主要用来优化Java 8以前对于时间日期的处理操作。但是,在使用Spring Boot或Spring Cloud Feign的时候,我们可能会遇到使用...

    java8 中文文档

    - Java 8 改进了日期和时间的处理,引入了 `java.time` 包,包含 `LocalDate`、`LocalTime`、`LocalDateTime`、`ZonedDateTime` 等类,替代了过时的 `java.util.Date` 和 `Calendar`。 4. **方法引用来代替Lambda*...

    将JavaSE8的日期和时间类移植至JavaSE6和7中

    ThreeTen-Backport并不是对JSR-310的完整实现,但包含了大部分关键类和方法,使得开发者可以在较旧的Java版本中享受到与Java 8相似的日期时间处理能力。例如,它提供了`java.time.LocalDate`、`java.time....

    Java+8实战_Java8_java8_

    以上只是Java 8中部分重要特性,实际的“Java+8实战”书籍可能会涵盖更多细节,如如何使用新的日期和时间API进行日期计算、如何利用流API进行复杂的数据处理,以及如何有效地使用lambda和函数式接口进行函数式编程。...

    mybatis如何使用Java8的日期LocalDate和LocalDateTime详解

    在Java 8中,Oracle引入了全新的日期时间API,包括`LocalDate`、`LocalTime`和`LocalDateTime`,这些类提供了更加直观且强大的日期时间处理能力,替代了传统且复杂的`java.sql.Date`、`java.sql.Timestamp`和`java....

    时间日期工具类(包含java8新特性).zip

    总的来说,这个压缩包中的两个文件是针对日期时间处理的实用工具,结合了Java 8的新特性,旨在提高开发者在SpringBoot项目中处理日期时间的效率和灵活性。通过学习和使用这些工具类,我们可以更好地管理和操作应用...

    java中的日期处理类总结

    随着Java的发展,`java.time`包(Java 8及更高版本)引入了新的日期/时间API,如`LocalDate`、`LocalTime`和`LocalDateTime`,它们提供了更加直观和强大的日期处理功能,推荐在新项目中优先考虑使用。然而,对于旧...

    Java 8 API 中版chm手册

    4. **日期与时间API**:Java 8用新的`java.time`包取代了过时的`java.util.Date`和`java.util.Calendar`,提供了更直观、更易用的日期和时间API,如`LocalDate`、`LocalTime`和`LocalDateTime`。 5. **默认方法**:...

Global site tag (gtag.js) - Google Analytics