자바 에서 날짜 와 시간 을 비교 하 는 4 가지 방법

4248 단어
1. Date.compareTo() java.util.Date 자바 에서 두 날 짜 를 비교 하 는 전형 적 인 방법 인 copare To () 를 제공 합 니 다.
  • 두 날짜 가 같 으 면 반환 값 은 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 ()
    날짜 비교
    @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. 자바 8 일자 비교 방법
    자바 8 에 서 는 새로운 isBefore (), isAfter (), isEqual () 과 compare To () 를 사용 하여 LocalDate, LocalTime, LocalDateTime 을 비교 할 수 있 습 니 다.아래 의 예 는 두 개 java.util.Calendar 를 비교한다.
    @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 之前
    

    제 블 로그 에 관심 을 가 져 주 셔 서 감사합니다.
  • 본 고 는 출처 (연결 을 해 야 하 며 문자 만 돌려 서 는 안 된다): 자모 형 블 로 그 를 전재 했다.

  • 도움 이 된다 면 좋아요, 공유 해 주세요!당신 의 지 지 는 나의 무한 한 창작 동력 입 니 다!또한 필 자 는 최근 에 다음 과 같은 우수한 내용 을 수출 하여 당신 의 관심 을 기대 합 니 다.
  • 'Spring Security - JWT - OAuth 2 1 권 통'
  • '실전 전후 단 분리 RBAC 권한 관리 시스템'
  • '실전 스프링 클 라 우 드 마이크로 서비스: 청동 에서 왕자 로'
  • 'VUE 딥 스 피 릿 시리즈'
  • 좋은 웹페이지 즐겨찾기