Home > Java > javaTutorial > body text

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

php是最好的语言
Release: 2018-08-04 11:11:00
Original
10235 people have browsed it

1. Brief description

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

1.Period
2.Duration
3.ChronoUnit
Copy after login

2.Period Class

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

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());
    }
}
Copy after login

Result:

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

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());

    }
}
Copy after login

Result:

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

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);

    }
}
Copy after login

Result:

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

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template