`

Java8新特性 - 日期相关 - 日期加减

 
阅读更多
1. 日期相减
DateDiff.java
package corejava2.date;

import java.time.LocalDate;
import java.time.Period;

public class DateDiff {

	public static void main(String[] args) {
		/** The date at the end of the last century */
		LocalDate endofCentury = LocalDate.of(2000, 12, 31);
		LocalDate now = LocalDate.now();

		Period diff = Period.between(endofCentury, now);

		System.out.printf("The 21st century (up to %s) is %s old%n", now, diff);
		System.out.printf("The 21st century is %d years, %d months and %d days old",
				diff.getYears(), diff.getMonths(), diff.getDays());
	}
}


运行结果:
The 21st century (up to 2015-10-06) is P14Y9M6D old
The 21st century is 14 years, 9 months and 6 days old

2. 日期相加
DateAdd.java
package corejava2.date;

import java.time.LocalDate;
import java.time.Period;

/**
 * DateAdd -- compute the difference between two dates (e.g., today and 700 days
 * from now).
 */
public class DateAdd {
	public static void main(String[] av) {
		/** Today's date */
		LocalDate now = LocalDate.now();

		Period p = Period.ofDays(700);
		LocalDate then = now.plus(p);

		System.out.printf("Seven hundred days from %s is %s%n", now, then);
	}
}


运行结果:
Seven hundred days from 2015-10-06 is 2017-09-05
分享到:
评论

相关推荐

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

    在这个"时间日期工具类(包含java8新特性).zip"压缩包中,我们有两个文件:DateUtil.java和DateUtils.java,它们很可能是自定义的工具类,用来扩展Java的标准日期处理功能。 首先,我们来看Java 8引入的新特性。在...

    JavaNew1-8.rar_Java 8

    这些新类提供了丰富的操作,如加减日期、获取星期几、比较日期等,使日期时间处理更加直观。 此外,Java 8增加了Optional类,用来表示可能为null的对象引用,以减少NullPointerException的出现。Optional提供了一种...

    java 日期选择控件DateChooser

    7. 额外功能:某些实现可能包含其他特性,如日期范围选择、日期计算(加减日期)以及与数据库或其他数据源的集成。 在Java开发中,DateChooser控件可以使用第三方库来实现,比如JCalendar库中的JDateChooser,它是...

    java初级练习——适合于初学者练习提高

    - `JAVA1-5-03`提出了复数类的设计,要求实现基本的属性和方法,包括构造函数、getters和setters、toString方法,以及加减运算。 通过这些练习,初学者可以逐步熟悉Java的语法特性,掌握面向对象编程的基本思想,...

    java8-14

    新API更加易用且功能强大,支持时区转换、日期时间的加减操作,以及格式化和解析等。 函数式接口是Java 8为了支持Lambda表达式而引入的新概念,它们只有一个抽象方法。比如`Runnable`、`Callable`和新的`Supplier`...

    action源码java-java8-sandbox:Java8inAction-源代码

    《Java8 in Action》是一本深受开发者欢迎的书籍,它深入浅出地介绍了Java 8的新特性,包括函数式编程、Stream API、日期与时间API等。在这个名为"action源码java-java8-sandbox"的项目中,我们可以看到这本书的部分...

    java操作日期时间工具类

    4. **日期时间加减操作**:通过增加或减少天数、小时数、分钟数等,可以创建新的日期时间。例如: ```java public static Date addDays(Date date, int days) { Calendar calendar = Calendar.getInstance(); ...

    clojure.java-time:用于Clojure的Java 8 Date-Time API

    总结来说,`clojure.java-time`是Clojure与Java 8 Date-Time API之间的桥梁,它简化了日期和时间处理,使得Clojure开发者能够充分利用Java 8的新特性,同时保持Clojure的编程风格。通过这个库,你可以编写出高效、可...

    基于Java的实例源码-时间工具包 JTimepiece.zip

    你可以方便地获取或设置间隔的各个部分,以及进行时间间隔的加减运算。 3. **日期和时间的格式化与解析**: 格式化和解析是处理日期和时间的重要环节。JTimepiece提供了类似于Java 8的DateTimeFormatter的API,...

    Java新的日期和API.pdf

    例如,`LocalDate`的`plusDays()`、`minusMonths()`等方法可以方便地对日期进行加减操作。 性能方面,Java 8的新日期API也进行了优化,不仅在API设计上减少了不必要的计算,还利用了JVM的性能提升技术。然而,需要...

    java程序设计报告---设计一个计算器.pdf

    在Swing库的帮助下,开发者可以创建一个用户友好的图形界面,提供加减乘除及取余操作。以下是设计的详细知识点: 1. **Swing库的使用**:Swing是Java GUI库,它提供了丰富的组件和布局管理器来构建桌面应用。在这个...

    Java 8 日期和时间解读.docx

    Java 8 中引入了全新的日期和时间API,显著地改进了旧有的`java.util.Date`和`java.util....无论是简单的日期加减,还是复杂的时区转换,新API都能以优雅的方式处理,极大地增强了Java在日期和时间处理方面的功能。

    Java编程时间日期API实例解析共15页.pdf.zip

    它支持各种日期时间的比较和运算,如加减日期时间、获取日期部分或时间部分等。 4. `ZonedDateTime`: 增加了时区信息,如2022-07-06T14:30+08:00[Asia/Shanghai]。它可以进行时区转换,并处理夏令时问题。 5. `...

    java 8 api

    Java 8 API是Java开发的重要组成部分,它引入了一系列新特性,极大地提升了开发效率和代码的可读性。本文将深入探讨Java 8 API的关键知识点,包括函数式编程、日期时间API、Stream API以及默认方法等。 一、函数式...

    Java8集合 CompletableFuture lambda表达式 新的TimeAPI 和ForkJoin Demo包

    这些新API遵循ISO-8601标准,提供了更直观的日期和时间操作,如加减、格式化和解析。 5. **ForkJoin框架**: ForkJoin框架是Java 7引入的,但Java 8对其进行了优化。它是一种基于工作窃取算法的并行计算模型,适用...

    jdk-8u121-linux-x64.tar.zip

    JDK 8引入了`java.time`包,提供了`LocalDate`、`LocalTime`、`LocalDateTime`等类,以及新的日期时间操作,如解析、格式化、加减操作,大大改进了日期和时间的处理能力。 6. **默认方法** 默认方法允许在接口中...

    java_time_api_Java8_java_

    Java 8 时间API是Java平台的重大改进之一,它引入了一个全新的日期和时间处理库,显著提高了开发者处理日期、时间、时区以及日期/时间计算的效率。这个API的设计目标是解决旧版`java.util.Date`和`java.util....

    java-zongjie

    时间区间可以使用`Duration`和`Period`类来表示,它们提供了方便的加减和比较功能。 此外,Java还提供了一些高级特性,如NIO(非阻塞I/O)和nio.2,用于提高文件操作的性能。`java.nio.file`包中的`Path`接口和`...

    基于Java的时间工具包xk-time Java.zip

    2. **时间计算与比较**:可能提供了更简便的API来进行时间的加减操作,或者比较两个日期或时间的先后关系。 3. **时间区处理**:可能对`ZoneId`和`ZoneOffset`的处理进行了优化,使得处理不同时区的时间更为简便。 ...

Global site tag (gtag.js) - Google Analytics