真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中怎么比較兩個(gè)日期

Java中怎么比較兩個(gè)日期,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

10年積累的做網(wǎng)站、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有相山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Date.compareTo()

Date 實(shí)現(xiàn)了 Comparable,因此兩個(gè)日期可以直接用 compareTo 方法進(jìn)行比較。

  • 如果兩個(gè)日期相等,則返回值為0。

  • 如果 Date1 在 Date2 參數(shù)之后,則返回值大于0。

  • 如果 Date1 在 Date2 參數(shù)之前,則返回值小于0。

package com.wupx.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo {

    public static void main(String[] args) throws ParseException {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date1 = sdf.parse("2019-10-01");
        Date date2 = sdf.parse("2019-10-17");

        System.out.println("date1 : " + sdf.format(date1));
        System.out.println("date2 : " + sdf.format(date2));

        if (date1.compareTo(date2) > 0) {
            System.out.println("Date1 is after Date2");
        } else if (date1.compareTo(date2) < 0) {
            System.out.println("Date1 is before Date2");
        } else if (date1.compareTo(date2) == 0) {
            System.out.println("Date1 is equal to Date2");
        } else {
            System.out.println("咋到這的?");
        }

    }

}

輸出結(jié)果

date1 : 2019-10-01
date2 : 2019-10-17
Date1 is before Date2

Date.before() Date.after() Date.equals()

可以用 equals、after 和 before 方法比較日期。

  • 如果兩個(gè)日期在同一時(shí)間點(diǎn),equals方法將返回true。

  • 如果 date1 在 date2 之前,before 返回 true,否則返回 false。

  • 如果 date2 在 date1 之后,after 返回 true,否則返回 false。

package com.wupx.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo2 {

    public static void main(String[] args) throws ParseException {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date1 = sdf.parse("2019-10-01");
        Date date2 = sdf.parse("2019-10-17");

        System.out.println("date1 : " + sdf.format(date1));
        System.out.println("date2 : " + sdf.format(date2));
        
        if (date1.after(date2)) {
            System.out.println("Date1 is after Date2");
        }

        if (date1.before(date2)) {
            System.out.println("Date1 is before Date2");
        }

        if (date1.equals(date2)) {
            System.out.println("Date1 is equal Date2");
        }
    }
}

輸出結(jié)果

date1 : 2019-10-01
date2 : 2019-10-17
Date1 is before Date2

Calender.before() Calender.after() Calender.equals()

Calendar 類(lèi)也有 compareTo、equals、after 和 before 方法,工作方式與上面描述的 Date 類(lèi)的方法相同。因此,如果日期信息保存在 Calendar 類(lèi)中,則不需要提取日期來(lái)執(zhí)行比較。

package com.wupx.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateDemo3 {

    public static void main(String[] args) throws ParseException {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date1 = sdf.parse("2009-12-31");
        Date date2 = sdf.parse("2010-01-31");

        System.out.println("date1 : " + sdf.format(date1));
        System.out.println("date2 : " + sdf.format(date2));

        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();
        cal1.setTime(date1);
        cal2.setTime(date2);

        if (cal1.after(cal2)) {
            System.out.println("Date1 is after Date2");
        }

        if (cal1.before(cal2)) {
            System.out.println("Date1 is before Date2");
        }

        if (cal1.equals(cal2)) {
            System.out.println("Date1 is equal Date2");
        }
    }
}

輸出結(jié)果

date1 : 2019-10-01
date2 : 2019-10-17
Date1 is before Date2

getTime()

可以直接比較兩個(gè)日期的時(shí)間點(diǎn)。這是對(duì)兩種原始數(shù)據(jù)類(lèi)型的比較,因此可以使用 < 、 > 和 == 來(lái)比較。

在比較日期之前,必須使用前面創(chuàng)建的 Date 對(duì)象中的數(shù)據(jù)來(lái)創(chuàng)建長(zhǎng)整型。

package com.wupx.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo4 {

    public static void main(String[] args) throws ParseException {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        Date date1 = sdf.parse("2019-10-01");
        Date date2 = sdf.parse("2019-10-17");
        
        System.out.println("date1 : " + sdf.format(date1));
        System.out.println("date2 : " + sdf.format(date2));

        long time1 = date1.getTime();
        long time2 = date2.getTime();

        if (time1 > time2) {
            System.out.println("Date1 is after Date2");
        } else if (time1 < time2) {
            System.out.println("Date1 is before Date2");
        } else if (time1 == time2) {
            System.out.println("Date1 is equal to Date2");
        } else {
            System.out.println("咋到這的?");
        }
    }
}

輸出結(jié)果

date1 : 2019-10-01
date2 : 2019-10-17
Date1 is before Date2

Java 8 中的 isBefore() isAfter() isEqual() compareTo()

在 Java 8 中,可以使用新的 isBefore()、isAfter()、isEqual() 以及 compareTo() 來(lái)比較 LocalDate、LocalTime 和 LocalDateTime。

package com.wupx.date;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateDemo5 {

    public static void main(String[] args) {

        DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate date1 = LocalDate.of(2019, 10, 01);
        LocalDate date2 = LocalDate.of(2019, 10, 17);

        System.out.println("date1 : " + sdf.format(date1));
        System.out.println("date2 : " + sdf.format(date2));

        System.out.println("Is...");
        if (date1.isAfter(date2)) {
            System.out.println("Date1 is after Date2");
        }

        if (date1.isBefore(date2)) {
            System.out.println("Date1 is before Date2");
        }

        if (date1.isEqual(date2)) {
            System.out.println("Date1 is equal Date2");
        }

        System.out.println("CompareTo...");
        if (date1.compareTo(date2) > 0) {
            System.out.println("Date1 is after Date2");
        } else if (date1.compareTo(date2) < 0) {
            System.out.println("Date1 is before Date2");
        } else if (date1.compareTo(date2) == 0) {
            System.out.println("Date1 is equal to Date2");
        } else {
            System.out.println("咋到這的?");
        }
    }
}

輸出結(jié)果

date1 : 2019-10-01
date2 : 2019-10-17
Is...
Date1 is before Date2
CompareTo...
Date1 is before Date2

看完上述內(nèi)容,你們掌握 Java中怎么比較兩個(gè)日期的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


新聞標(biāo)題:Java中怎么比較兩個(gè)日期
文章轉(zhuǎn)載:http://weahome.cn/article/ijsepj.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部