콘텐츠
Java를 사용하여 날짜를 비교하는 방법에는 여러 가지가 있습니다. 내부적으로 언어에서 날짜는 변수를 사용하여 특정 시점으로 표시됩니다. 긴. 1970 년 1 월 1 일 이후 경과 한 밀리 초 수를 포함합니다. Java에는 클래스가 있습니다. 당신에게 준다 (데이터), 비교하는 데 도움이되는 몇 가지 방법이 포함되어 있습니다. 모든 비교 방법은 기본적으로 두 개의 Date 객체에 저장된 시간을 비교합니다.
단계
4 가지 방법 중 1 : compareTo
- compareTo 메서드를 사용하십시오. Date 클래스는 Comparable 인터페이스를 구현합니다.
따라서 compareTo 메서드를 사용하여 두 날짜를 비교할 수 있습니다. 날짜가 같으면 메서드는 0을 반환합니다. 비교중인 날짜가 인수로 전달 된 날짜보다 이전이면 0보다 작은 값이 반환됩니다. 반대가 발생하면 반환 된 값은 0보다 커집니다. -
날짜 개체를 만듭니다. 비교하기 전에 각 날짜에 대한 개체를 만들어야합니다. 이를 수행하는 한 가지 방법은 클래스를 사용하는 것입니다. SimpleDateFormat. 날짜를 날짜 개체로 쉽게 변환 할 수 있습니다. - 날짜 개체를 비교하십시오. 아래 코드는 동일, 부 및 주요 날짜가 인수로 전달되는 각 경우를 보여줍니다.
4 가지 방법 중 2 : 같음, 후 그건 전에
-
equals, after 및 before 메서드를 사용합니다 (각각 같음, 이후 및 이전). 이러한 방법을 사용하여 날짜를 비교할 수 있습니다.두 날짜가 동일한 시점을 참조하는 경우 equals 메서드는 true를 반환합니다. 아래 예제에서는 compareTo 메서드를 시연 할 때 이미 만든 날짜를 사용합니다. - before 방법을 사용하여 비교. 아래 코드는 true를 반환하는 케이스와 false를 반환하는 케이스를 보여줍니다. date1이 date2보다 이전이면 before는 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
-
after 방법을 사용하여 비교. 아래 코드는 true를 반환하는 케이스와 false를 반환하는 케이스를 보여줍니다. date2가 date1 이후이면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. - equals 방법을 사용하여 비교. 아래 코드는 true를 반환하는 케이스와 false를 반환하는 케이스를 보여줍니다. 날짜가 같으면 equals 메서드는 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
4 가지 방법 중 3 : Calendar 클래스 사용
- 달력을 사용하십시오. Calendar 클래스에는 또한 compareTo, equals, after 및 before 메서드가 있으며 위에서 설명한 날짜 클래스에서 설명한 것과 동일한 방식으로 작동합니다. 날짜 정보가 달력에 저장되므로 비교를 위해 날짜를 추출 할 필요가 없습니다.
- Calendar 개체의 인스턴스를 만듭니다. Calendar 클래스의 메서드를 사용하려면이 클래스의 개체를 인스턴스화해야합니다. 좋은 소식은 이전에 생성 된 Date 인스턴스에서 날짜를 추출 할 수 있다는 것입니다.
- 이전을 사용하여 cal1과 cal2를 비교합니다. cal1이 cal2보다 이전이므로 아래 코드는 true를 반환해야합니다.
- after를 사용하여 cal1과 cal2를 비교합니다. cal2가 cal1보다 이전이므로 아래 코드는 false를 반환해야합니다.
- 같음을 사용하여 cal1과 cal2를 비교합니다. 아래 코드는 참 케이스와 거짓 케이스의 예를 보여줍니다. 답을 정의하는 것은 비교에 사용 된 Calendar 클래스의 두 인스턴스입니다. 코드는 다음 줄에서 "true"를 반환 한 다음 "false"를 반환해야합니다.
4 가지 방법 중 4 : getTime
- getTime을 사용하여 두 날짜의 시간을 비교할 수도 있습니다. 그러나 앞서 보여 드린 접근 방식은 더 간단하므로 선호 해 주시기 바랍니다. 이것은 자바의 두 가지 기본 데이터 유형의 비교이므로 "<", ">"및 "=="연산자를 사용하여 수행 할 수 있습니다.
- 시간을 나타내는 긴 개체 만들기. 날짜를 비교하기 전에 긴 정수를 만들고 앞서 만든 Date 개체를 할당합니다. 다행히도 getTime () 메서드가 모든 작업을 수행합니다.
- "보다 작음"비교를하십시오. 이렇게하려면 두 정수를 비교할 때 "<"기호를 사용합니다. time1이 time2보다 작기 때문에 첫 번째 메시지가 표시되어야합니다. 그만큼 그밖에 구문상의 이유로 만 포함되었습니다.
- "보다 큼"비교하십시오. 이렇게하려면 두 정수를 비교할 때 ">"기호를 사용하십시오. time1이 time2보다 크므로 첫 번째 메시지가 화면에 나타납니다. 그만큼 그밖에 구문상의 이유로 만 포함되었습니다.
- 평등 테스트를 해보세요. 두 정수를 비교할 때 같은지 테스트하려면 "=="기호를 사용하십시오. time1은 time3과 같으므로 첫 번째 메시지가 화면에 나타납니다. 프로그램이 else에 도달하면 날짜가 동일하지 않음을 의미합니다.