Home  >  Article  >  Java  >  Calculate how to calculate date and time difference in Java8

Calculate how to calculate date and time difference in Java8

coldplay.xixi
coldplay.xixiforward
2021-01-19 09:34:251863browse

Calculate how to calculate date and time difference in Java8

Related free learning recommendations: java basic tutorial

1 Period class

Methods getYears(), getMonths() and getDays().

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());
    }}
Today : 2017-06-16BirthDate : 1993-10-19年龄 : 23 年 7 月 28 日

2 Duration class

A method to measure the amount of time based on a time value (such as seconds, nanoseconds).

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

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

3 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.

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

    }}
rrree

The above is the detailed content of Calculate how to calculate date and time difference in Java8. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete