java類實(shí)現(xiàn)日期的時(shí)間差的實(shí)例講解
我們?cè)趯?duì)不同時(shí)間的間隔上,如果是同一天的時(shí)間計(jì)算,尚且是可以手動(dòng)算一下。如果加上日期的條件限制,那么手動(dòng)的計(jì)算會(huì)比較困難。但是在java中我們調(diào)用類來(lái)進(jìn)行解決,這樣能節(jié)約不少的使用,也不容易計(jì)算失誤。下面我們就Period、Duration、ChronoUnit類的計(jì)算方法帶來(lái)介紹。
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類
基于時(shí)間的值(如秒,納秒)測(cè)量時(shí)間量的方法。
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類可用于在單個(gè)時(shí)間單位內(nèi)測(cè)量一段時(shí)間,例如天數(shù)或秒。
以下是使用between()方法來(lái)查找兩個(gè)日期之間的區(qū)別的示例。
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("開(kāi)始時(shí)間 : " + startDate);
LocalDate endDate = LocalDate.of(2017, Month.JUNE, 16);
System.out.println("結(jié)束時(shí)間 : " + endDate);
long daysDiff = ChronoUnit.DAYS.between(startDate, endDate);
System.out.println("兩天之間的差在天數(shù) : " + daysDiff);
}}
開(kāi)始時(shí)間 : 1993-10-19
結(jié)束時(shí)間 : 2017-06-16
兩天之間的差在天數(shù) : 8641
到此這篇關(guān)于java類實(shí)現(xiàn)日期的時(shí)間差的實(shí)例講解的文章就介紹到這了,更多相關(guān)java類實(shí)現(xiàn)日期的時(shí)間差內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android開(kāi)發(fā)中實(shí)現(xiàn)用戶注冊(cè)和登陸的代碼實(shí)例分享
這篇文章主要介紹了Android開(kāi)發(fā)中實(shí)現(xiàn)用戶注冊(cè)和登陸的代碼實(shí)例分享,只是實(shí)現(xiàn)基本功能,界面華麗度就請(qǐng)忽略啦XD 需要的朋友可以參考下2015-12-12
SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法
這篇文章主要介紹了SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2018-05-05
Java8中的LocalDateTime你會(huì)使用了嗎
LocalDateTime?是?Java?8?中日期時(shí)間?API?提供的一個(gè)類,在日期和時(shí)間的表示上提供了更加豐富和靈活的支持,本文就來(lái)講講LocalDateTime的一些具體使用方法吧2023-05-05
Spring Data Redis對(duì)象緩存序列化問(wèn)題解決
相信在項(xiàng)目中,你一定是經(jīng)常使用Redis,在使用時(shí),有沒(méi)有遇到同我一樣,對(duì)象緩存序列化問(wèn)題的呢,本文主要介紹了Spring Data Redis對(duì)象緩存序列化問(wèn)題解決,感興趣的可以了解一下2024-01-01
JavaWeb HttpServletResponse對(duì)象及常用方法
這篇文章主要介紹了JavaWeb-HttpServletResponse對(duì)象,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
詳解如何在SpringBoot項(xiàng)目中使用統(tǒng)一返回結(jié)果
在一個(gè)完整的項(xiàng)目中,如果每一個(gè)控制器的方法都返回不同的結(jié)果,那么對(duì)項(xiàng)目的維護(hù)和擴(kuò)展都會(huì)很麻煩。因此,本文為大家準(zhǔn)備了SpringBoot項(xiàng)目中使用統(tǒng)一返回結(jié)果的方法,需要的可以參考一下2022-10-10

