Java8如何计算日期时间差
java基础教程栏目介绍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()); }}
Today : 2017-06-16BirthDate : 1993-10-19年龄 : 23 年 7 月 28 日
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()); }}
Inst1 : 2017-06-16T07:46:45.085Z Inst2 : 2017-06-16T07:46:55.085Z Difference in milliseconds : 10000Difference in seconds : 10
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); }}
开始时间 : 1993-10-19 结束时间 : 2017-06-16 两天之间的差在天数 : 8641
Atas ialah kandungan terperinci Java8如何计算日期时间差. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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[

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

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

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

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

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