在jdk8中新出了一个时间处理包,试用了一下,日期的加减很方便,以前要用什么joda(我没用过,只听过),好了,废话不多说,看个简单的例子。
LocalDate curDate = LocalDate.now(); LocalDate preDate = curDate.plus(-1, ChronoUnit.DAYS); LocalDate nextDate = curDate.plus(1, ChronoUnit.DAYS); System.out.println(preDate);// 2017-06-16 System.out.println(curDate);// 2017-06-17 System.out.println(nextDate);// 2017-06-18 LocalDateTime curDateTime = LocalDateTime.now(); LocalDateTime preDateTime = curDateTime.plus(-1, ChronoUnit.DAYS); LocalDateTime nextDateTime = curDateTime.plus(1, ChronoUnit.DAYS); System.out.println(preDateTime);// 2017-06-16T10:21:39.041 System.out.println(curDateTime);// 2017-06-17T10:21:39.041 System.out.println(nextDateTime);// 2017-06-18T10:21:39.041
用起来,真的很方便,加一天减一天,加一小时,减一小时都是很容易就写出来。
很多系统还是用的java.util.Date类,既想使用java8中的,又想兼容之前的数据类型,那么就需要他们之间能互相转换就行了。
// date 转 localdate Date inputDate = new Date(); Instant inputDateInstant = inputDate.toInstant(); ZonedDateTime zdt = inputDateInstant.atZone(ZoneId.systemDefault()); LocalDate outputLocalDate = zdt.toLocalDate(); System.out.println(outputLocalDate);// 2017-08-02 // localdate 转 date LocalDate inputLocalDate = LocalDate.now(); ZoneId zone = ZoneId.systemDefault(); Instant inputLocalDateInstant = inputLocalDate.atStartOfDay().atZone(zone).toInstant(); java.util.Date outputDate = Date.from(inputLocalDateInstant); System.out.println(outputDate);// Wed Aug 02 00:00:00 CST 2017
相关推荐
本工具包主要是基于JAVA的底层时间类的处理周期时间的工具包,主要用于处理并得到周期性提醒的时间,比如说您想要在每天8:10、每月1号8:20、每周三8:30、每10分钟、每3小时、每季度第一个月1号8:10等等处理一项...
5. **日期和时间API的改进**:Java 8对日期和时间API进行了彻底重构,引入了java.time包,提供了更加灵活和人性化的日期、时间、时区处理功能。 6. **接口默认方法**:接口可以拥有默认实现的方法,这使得在不破坏...
- **Date和Time API的改进**:带来了全新的日期和时间处理类,解决了旧API的一些问题。 - **默认方法**:允许在接口中定义带有实现的方法,增强了接口的功能。 - **Volatile增强**:提升了并发性能,降低了内存可见...
在这个"时间日期工具类(包含java8新特性).zip"压缩包中,我们有两个文件:DateUtil.java和DateUtils.java,它们很可能是自定义的工具类,用来扩展Java的标准日期处理功能。 首先,我们来看Java 8引入的新特性。在...
2. **Stream API**:Java 8 引入了 Stream API,位于 `java.util.stream` 包下,提供了一种新的数据处理方式。Stream API 可以用于并行和串行处理,支持过滤、映射、收集等操作,极大地提高了代码的可读性和性能。 ...
Java 8引入了`java.time`包,这是新的日期时间API,包含了`LocalDate`、`LocalTime`、`LocalDateTime`、`ZonedDateTime`等类,它们提供了更强大、更安全、更易于使用的日期时间处理功能。例如,`ZonedDateTime`可以...
JDK 8在Java社区中具有重要意义,因为它引入了许多新特性,如 Lambda 表达式、默认方法、Stream API、新的日期和时间API以及改进的类型推断等。Lambda表达式简化了处理函数式接口的方式,使代码更简洁。默认方法允许...
总的来说,"Java获取视频时间JAR包"简化了Java开发者处理视频时长的步骤,使得他们能够专注于应用的其他核心功能,而不是底层的多媒体处理细节。通过这个库,开发者可以快速、高效地实现视频元数据的提取,提升应用...
10. **与Java 8日期时间API的兼容性**:尽管Java 8引入了新的日期时间API,Joda-Time仍被广泛使用,并提供了与Java 8 API的互操作性。 在实际项目中,通过引入Joda-Time库(如文件名所示的`joda-time-2.1`版本),...
6. **日期与时间API**:Java8改进了日期和时间的处理,引入了新的java.time包,包含了LocalDate、LocalTime、LocalDateTime、ZonedDateTime等类,提供了更强大且易于使用的日期和时间操作。 7. **Optional类**:...
5. **日期和时间API**:Java8通过`java.time`包对日期和时间API进行了彻底改造,提供了更直观、更易用的类,如`LocalDate`,`LocalTime`和`LocalDateTime`。 6. **默认方法**:在接口中添加默认方法,允许不破坏旧...
- **日期和时间API**:Java 8对日期和时间处理进行了重大改进,引入了`java.time`包,包含`LocalDate`、`LocalTime`、`LocalDateTime`等类,提供了更直观和强大的日期时间操作。 - **默认方法**:在接口中可以定义...
为了解决旧版`java.util.Date`和`java.util.Calendar`类的问题,Java 8引入了新的`java.time`包,它提供了更强大、更易用的日期和时间API。这个新API的设计受到了Joda-Time库的影响,可以更方便地处理日期、时间和...
Java提供了丰富的库来处理日期和时间,如Java 8引入的`java.time`包。通常,计算日出日落会涉及到地理坐标(经度和纬度)以及当地时区。开发者可能需要利用`java.time.ZonedDateTime`类来获取当前或特定日期的日期和...
以下是一些主要的Java 8新特性详解: 1. **Lambda表达式**:这是Java 8最显著的新特性之一,它为Java引入了函数式编程的概念。Lambda表达式允许我们将函数作为方法参数或者存储在变量中,使得代码更加简洁、易读。...
- `java.time`包:Java 8引入的全新日期和时间API,包括`Year`, `Month`, `DayOfWeek`等枚举类型,以及`ZonedDateTime`, `LocalTime`, `Instant`等类,提供了更强大和易用的时间处理功能。 3. **时间格式化:** -...
Java 8引入了`java.time`包,其中`ZonedDateTime`类能更好地处理这种情况。使用`ZonedDateTime.now(ZoneId.of("UTC"))`可获取当前的UTC时间。 3. **转换过程中的错误**:在将日期时间对象转换为字符串或者从字符串...
以上只是Java 8中部分重要特性,实际的“Java+8实战”书籍可能会涵盖更多细节,如如何使用新的日期和时间API进行日期计算、如何利用流API进行复杂的数据处理,以及如何有效地使用lambda和函数式接口进行函数式编程。...
Java 8是Java语言发展的一个重要里程碑,引入了许多创新性的特性和改进,...黑马程序员的Java8新特性详解笔记和源码提供了深入学习这些概念的资源,结合实际的代码示例,将有助于你更好地理解和掌握Java 8的核心特性。