Home  >  Article  >  Java  >  The following classes are used in Java8 to calculate date and time differences: Period, Duration, ChronoUnit

The following classes are used in Java8 to calculate date and time differences: Period, Duration, ChronoUnit

php是最好的语言
php是最好的语言Original
2018-08-04 11:11:0010230browse

1. Brief description

In Java8, we can use the following class to calculate the date and time difference:

1.Period
2.Duration
3.ChronoUnit

2.Period Class

主要是Period类方法getYears(),getMonths()和getDays()来计算.

Example:

package insping;

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

public class Test {

    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("Today : " + today);
        LocalDate birthDate = LocalDate.of(1993, Month.OCTOBER, 19);
        System.out.println("BirthDate : " + birthDate);

        Period p = Period.between(birthDate, today);
        System.out.printf("年龄 : %d 年 %d 月 %d 日", p.getYears(), p.getMonths(), p.getDays());
    }
}

Result:

Today : 2017-06-16
BirthDate : 1993-10-19
年龄 : 23 年 7 月 28 日

3. Duration class

provides the use of time-based values ​​(such as seconds, nanoseconds) A method of measuring the amount of time.
Example:

package insping;

import java.time.Duration;
import java.time.Instant;

public class Test {

    public static void main(String[] args) {
        Instant inst1 = Instant.now();
        System.out.println("Inst1 : " + inst1);
        Instant inst2 = inst1.plus(Duration.ofSeconds(10));
        System.out.println("Inst2 : " + inst2);

        System.out.println("Difference in milliseconds : " + Duration.between(inst1, inst2).toMillis());

        System.out.println("Difference in seconds : " + Duration.between(inst1, inst2).getSeconds());

    }
}

Result:

Inst1 : 2017-06-16T07:46:45.085Z
Inst2 : 2017-06-16T07:46:55.085Z
Difference in milliseconds : 10000
Difference in seconds : 10

IV. ChronoUnit class

The ChronoUnit class can be used to measure a period of time in a single unit of time, such as days or seconds.
The following is an example of using the between() method to find the difference between two dates.

package insping;

import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;

public class Test {

    public static void main(String[] args) {
        LocalDate startDate = LocalDate.of(1993, Month.OCTOBER, 19);
        System.out.println("开始时间  : " + startDate);

        LocalDate endDate = LocalDate.of(2017, Month.JUNE, 16);
        System.out.println("结束时间 : " + endDate);

        long daysDiff = ChronoUnit.DAYS.between(startDate, endDate);
        System.out.println("两天之间的差在天数   : " + daysDiff);

    }
}

Result:

开始时间  : 1993-10-19
结束时间 : 2017-06-16
两天之间的差在天数   : 8641

Related articles:

JS Calculate Date Time Difference

php Calculate Date Number of days difference (the time difference between any time and the current time)

Related videos:

Geek Academy Java8 new features video tutorial-free online video tutorial

The above is the detailed content of The following classes are used in Java8 to calculate date and time differences: Period, Duration, ChronoUnit. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn