Rumah Java JavaAsas Java8如何计算日期时间差

Java8如何计算日期时间差

Jan 07, 2021 pm 06:06 PM
java8

java基础教程栏目介绍Java8如何计算日期时间差

Java8如何计算日期时间差

相关免费学习推荐:java基础教程

1 Period类

方法getYears(),getMonths()和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());
    }}
Salin selepas log masuk
Today : 2017-06-16BirthDate : 1993-10-19年龄 : 23 年 7 月 28 日
Salin selepas log masuk

2 Duration类

基于时间的值(如秒,纳秒)测量时间量的方法。

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

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

3 ChronoUnit类

ChronoUnit类可用于在单个时间单位内测量一段时间,例如天数或秒。
以下是使用between()方法来查找两个日期之间的区别的示例。

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

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

Atas ialah kandungan terperinci Java8如何计算日期时间差. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengira tarikh setahun yang lalu atau setahun kemudian di Java 8? Bagaimana untuk mengira tarikh setahun yang lalu atau setahun kemudian di Java 8? Apr 26, 2023 am 09:22 AM

Java8 mengira tarikh setahun yang lalu atau setahun kemudian menggunakan kaedah tolak() untuk mengira tarikh setahun yang lalu packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.temporal.ChronoUnit;publicclassDemo09{publicstaticvoidmain(String[ ]args ){LocalDatetoday=LocalDate.now();LocalDatepreviousYear=today.minus(1,ChronoUni

Bagaimana untuk mengira tarikh seminggu kemudian menggunakan Java 8? Bagaimana untuk mengira tarikh seminggu kemudian menggunakan Java 8? Apr 21, 2023 pm 11:01 PM

Cara mengira tarikh seminggu kemudian dalam Java8 Contoh ini akan mengira tarikh seminggu kemudian. Tarikh LocalDate tidak mengandungi maklumat masa kaedah tambah() digunakan untuk menambah hari, minggu dan bulan Kelas ChronoUnit mengisytiharkan unit masa ini. Memandangkan LocalDate juga merupakan jenis yang tidak boleh diubah, anda mesti menggunakan pembolehubah untuk menetapkan nilai selepas kembali. packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.temporal.ChronoUnit;publicclassDemo08{publicstaticvoidmain(String[

Bagaimana untuk menggunakan kelas Jam dalam Java8 Bagaimana untuk menggunakan kelas Jam dalam Java8 Apr 25, 2023 pm 03:37 PM

Kelas Jam Java8 Java8 menambah kelas Jam untuk mendapatkan cap waktu semasa, atau maklumat tarikh dan masa dalam zon waktu semasa. Apabila System.currentTimeInMillis() dan TimeZone.getDefault() digunakan sebelum ini, ia boleh digantikan dengan Jam. packagecom.shxt.demo02;importjava.time.Clock;publicclassDemo10{publicstaticvoidmain(String[]args){//Returnsthecurrenttimebase

Bagaimana untuk mendapatkan cap masa semasa dalam Java8 Bagaimana untuk mendapatkan cap masa semasa dalam Java8 May 01, 2023 am 11:46 AM

Dapatkan cap masa semasa dalam Java8. Kelas Instant mempunyai kaedah kilang statik now() yang akan mengembalikan cap masa semasa, seperti yang ditunjukkan di bawah: packagecom.shxt.demo02;importjava.time.Instant;publicclassDemo16{publicstaticvoidmain(String[]args) {Instanttimestamp=Instant.now();System.out.println("Whatisvalueofthisinstant"+timestamp.t

Cara menggunakan alat pemformatan yang telah ditetapkan untuk menghuraikan atau memformat tarikh dalam Java8 Cara menggunakan alat pemformatan yang telah ditetapkan untuk menghuraikan atau memformat tarikh dalam Java8 Apr 28, 2023 pm 07:40 PM

Cara menggunakan alat pemformatan yang dipratentukan untuk menghuraikan atau memformat tarikh dalam Java 8 packagecom.shxt.demo02;importjava.time.LocalDate;importjava.time.format.DateTimeFormatter;publicclassDemo17{publicstaticvoidmain(String[]args){StringdayAfterTommorrow="201 ";80200 LocalDateformatted=LocalDate.parse

Bagaimana untuk menangani zon waktu di Java8 Bagaimana untuk menangani zon waktu di Java8 Apr 27, 2023 pm 09:22 PM

Mengendalikan zon waktu di Java 8 Java 8 bukan sahaja memisahkan tarikh dan masa, tetapi juga memisahkan zon waktu. Kini terdapat satu siri kelas berasingan seperti ZoneId untuk mengendalikan zon waktu tertentu dan ZoneDateTime untuk mewakili masa dalam zon waktu tertentu. Ini dilakukan oleh kelas GregorianCalendar sebelum Java8. Contoh berikut menunjukkan cara untuk menukar masa dalam zon waktu ini kepada masa dalam zon waktu lain. packagecom.shxt.demo02;importjava.time.LocalDateTime;importjava.time.ZoneId;importjava.time.ZonedDateT

Bagaimana untuk menentukan sama ada dua tarikh adalah sama dalam Java8 Bagaimana untuk menentukan sama ada dua tarikh adalah sama dalam Java8 May 02, 2023 am 08:46 AM

Tentukan sama ada dua tarikh adalah sama dalam Java8 packagecom.shxt.demo02;importjava.time.LocalDate;publicclassDemo04{publicstaticvoidmain(String[]args){LocalDatedate1=LocalDate.now();LocalDatedate2=LocalDate.of(2018,2,5) ;jika(tarikh1.sama(tarikh2)){System.out.println("Masa sama");}e

Bagaimana untuk mendapatkan maklumat tahun, bulan dan hari dalam Java8 Bagaimana untuk mendapatkan maklumat tahun, bulan dan hari dalam Java8 Apr 19, 2023 am 09:49 AM

Java8中获取年、月、日信息packagecom.shxt.demo02;importjava.time.LocalDate;publicclassDemo02{publicstaticvoidmain(String[]args){LocalDatetoday=LocalDate.now();intthyear=artoday. .getMonthValue();intday=today.getDayOfMonth();System.out.println

See all articles