0

비교 연산자를 사용하여 Java로 날짜를 비교하려면 어떻게해야합니까?비교 연산자를 사용하여 Java에서 날짜를 비교하는 방법은 무엇입니까?

예 :

날짜 1은 30-10-2017
날짜 2는 date3 미만 것은 사실해야 할 때 31-10-2017
date3이 30-10-2018

date2 반환 거짓입니다. 날짜가 다른 날짜보다 작 으면 true를 반환하고 그렇지 않으면 false를 반환 할 수 있습니까? 직접 관계 연산자를 사용할 수 없지만 날짜/시간 형식은 일반적으로 Comparable을 구현

{ 
    boolean check = false; 
    if(year < theDate.year) 
    { 
     return true; 
    } 
    if(year > theDate.year) 
    { 
     return false; 
    } 
    if(month < theDate.month) 
    { 
     check = true; 
    } 
    if(day < theDate.day) 
    { 
     check = true; 
    } 
    else 
    { 
     return false; 
    } 
    return check; 
} 
+0

내가 돈 ' t는 자바가 날짜에 비교 연산자를 허용한다고 생각한다. 그러나 당신은'isBefore'와'isAfter' 메소드와 함께'LocalDate' API를 사용할 수 있습니다. –

+0

데이트 클래스의 유형은 무엇입니까? (정규화 된)'java.util.Date'인가,'java.time.LocalDate' 또는 다른 것인가? –

답변

0

: return (day < theDate.day) || (month < theDate.month) || (year < theDate.year);


아래는 내 현재의 솔루션입니다 :

이 내 코드입니다.

따라서 논리 date1 < date2에 대해 date1.compareTo(date2) < 0을 수행 할 수 있어야합니다.

+0

날짜 개체에 설정 한 숫자 값을 비교하고 있습니다. 내가 사용하는 필드는 일, 월, 일의 정수입니다. 그래서 나는 그 값들을 확인하려고 노력하고 있습니다. – julianrios

+0

@julianrios 나는 당신이하는 말을 이해하지 못합니다. – lexicore

+0

내 소개 - 자바 클래스에 대한 과제입니다. 그래서 저는 조금 잃었습니다. 나는 bluej에서 코딩 중이며이 과제를 위해 API에 액세스 할 수 있다고 생각하지 않습니다. – julianrios

0

boolean after(Date date) 또는 boolean before(Date date)을 사용해야합니다. 당신이 비교 자신을 수행하는 방법을 알고 싶다면 예를 들어 , date2.before(date3)

+0

죄송합니다. 이해가 안됩니다. – julianrios

+1

@julianrios 날짜에는 어떤 수업을 사용합니까? – Maksim

+0

내 모든 코드를 삽입 할 수있는 방법이 있습니까? 내 밭과 방법에서 내가 가지고있는 것을 보는 것이 더 쉬울 수도 있습니다. – julianrios

0
LocalDate date1 = LocalDate.of(2017, 10, 30); // Year, month, day. 
LocalDate date2 = LocalDate.of(2017, 10, 31); 
LocalDate date3 = LocalDate.of(2018, 10, 30); 

System.out.printf("%s before %s? %s%n", date1, date2, date1.isBefore(date2)); 
System.out.printf("%s before %s? %s%n", date2, date3, date3.isBefore(date3)); 
System.out.printf("%s before %s? %s%n", date3, date1, date3.isBefore(date1)); 

:

  • 비교 첫 해를, 다음 달, 다음 일 :에서 가장 중요한-적어도
  • 이 이유 때문에 날짜를 나타내는 ISO 표준 (및 시간)은 2017-09-30T13:05:01,000이며 길이가 동일한 텍스트 비교만으로 충분합니다.

그리고 패턴이 간다 :

  1. 경우 년 동일하지 않은 다음 발견 및 결과
  2. 개월 같지 다음 발견 및 결과
  3. 결과 인 경우 일의 비교