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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

java中如何进行日期时间比较?4种方法介绍

發(fā)布時間:2023/12/24 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 java中如何进行日期时间比较?4种方法介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. Date.compareTo()

java.util.Date提供了在Java中比較兩個日期的經(jīng)典方法compareTo()。

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

2、如果Date在date參數(shù)之后,則返回值大于0。

3、如果Date在date參數(shù)之前,則返回值小于0。

@Testvoid 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-31date2 : 2019-01-31Date1 時間在 Date2 之前

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

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

@Testvoid 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-31date2 : 2019-01-31Date1 時間在 Date2 之前

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

使用java.util.Calendar比較兩個Date日期

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

@Testvoid 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-31date2 : 2019-01-31Is...Date1 時間在 Date2 之前

推薦教程:《java教程》

總結

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。