日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中日期比较方法_在java中进行日期时间比较的4种方法

發布時間:2024/10/5 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中日期比较方法_在java中进行日期时间比较的4种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Date.compareTo()

java.util.Date

提供了在 Java 中比較兩個日期的經典方法compareTo()。

如果兩個日期相等,則返回值為0。

如果Date在date參數之后,則返回值大于0。

如果Date在date參數之前,則返回值小于0。

@Test

void testDateCompare() throws ParseException {

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

Date date1 = sdf.parse("2009-12-31");

Date date2 = sdf.parse("2019-01-31");

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

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

if (date1.compareTo(date2) > 0) {

System.out.println("Date1 時間在 Date2 之后");

} else if (date1.compareTo(date2) < 0) {

System.out.println("Date1 時間在 Date2 之前");

} else if (date1.compareTo(date2) == 0) {

System.out.println("Date1 時間與 Date2 相等");

} else {

System.out.println("程序怎么會運行到這里?正常應該不會");

}

}

輸出結果:

date1 : 2009-12-31

date2 : 2019-01-31

Date1 時間在 Date2 之前

2. Date.before(),Date.after()和Date.equals()

一種語義上比較友好的方法來比較兩個java.util.Date

@Test

void testDateCompare2() throws ParseException {

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

Date date1 = sdf.parse("2009-12-31");

Date date2 = sdf.parse("2019-01-31");

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

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

if (date1.after(date2)) {

System.out.println("Date1 時間在 Date2 之后");

}

if (date1.before(date2)) {

System.out.println("Date1 時間在 Date2 之前");

}

if (date1.equals(date2)) {

System.out.println("Date1 時間與 Date2 相等");

}

}

輸出結果

date1 : 2009-12-31

date2 : 2019-01-31

Date1 時間在 Date2 之前

3. Calender.before(),Calender.after()和Calender.equals()

使用java.util.Calendar

比較兩個Date日期

@Test

void testDateCompare3() throws ParseException {

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

Date date1 = sdf.parse("2009-12-31");

Date date2 = sdf.parse("2019-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 時間在 Date2 之后");

}

if (cal1.before(cal2)) {

System.out.println("Date1 時間在 Date2 之前");

}

if (cal1.equals(cal2)) {

System.out.println("Date1 時間與 Date2 相等");

}

}

輸出結果:

date1 : 2009-12-31

date2 : 2019-01-31

Date1 時間在 Date2 之前

4. Java 8日期比較方法

在Java 8中,可以使用新的isBefore(),isAfter(),isEqual()和compareTo()來比較LocalDate,LocalTime和LocalDateTime。以下示例以比較兩個java.time.LocalDate

@Test

void testDateCompare4() throws ParseException {

DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd");

LocalDate date1 = LocalDate.of(2009, 12, 31);

LocalDate date2 = LocalDate.of(2019, 1, 31);

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 時間在 Date2 之后");

}

if (date1.isBefore(date2)) {

System.out.println("Date1 時間在 Date2 之前");

}

if (date1.isEqual(date2)) {

System.out.println("Date1 時間與 Date2 相等");

}

}

輸出結果

date1 : 2009-12-31

date2 : 2019-01-31

Is...

Date1 時間在 Date2 之前

歡迎關注我的博客,里面有很多精品合集

本文轉載注明出處(必須帶連接,不能只轉文字):字母哥博客

覺得對您有幫助的話,幫我點贊、分享!您的支持是我不竭的創作動力!。另外,筆者最近一段時間輸出了如下的精品內容,期待您的關注。

總結

以上是生活随笔為你收集整理的java中日期比较方法_在java中进行日期时间比较的4种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。