[Java / 자바]날짜 비교, String에서 날짜 입력하는 방법

개발 노트/Java  2015.01.16 02:17
[Java / 자바]날짜 비교, String에서 날짜 입력하는 방법

안녕하세요. 명월입니다.
이번 포스트의 내용은 공부하거나 알아둬야 하는 내용보다는 잘 아는 내용인데 막상 쓰려면 기억이 잘 안 나고 헷갈리는 날짜 비교이기에 다음에 보기 쉽게 정리해 놓은 글입니다.
Java에서는 날짜와 관계된 클래스가 많이 있으나 현재는 Util.Date만 기술되어 있습니다. (다른 클래스 내용도 추후 필요 때문에 추가될 수 있습니다)


Date 클래스에는 자체적으로 데이터를 비교할 수 있는 함수가 존재합니다.


예제로 확인해 보겠습니다.


저만 그럴지는 모르겠으나 가장 헷갈리는 compareTo 함수입니다. 0이 나오면 당연히 같은 날짜가 맞습니다.
변수1.compareTo(변수2)가 0보다 큰 경우는 변수1이 변수2보다 이후의 날짜입니다. 예로 변수1이 1월 15일 변수2가 1월 16일이면 compareTo값은 양수가 나옵니다.
변수.compareTo(변수2)가 0보다 작은 경우는 변수1이 변수2보다 이전의 날짜입니다. 예를 들면 변수1이 1월 15일 변수2가 1월 14일이면 compareTo값은 음수가 됩니다.



어떻게 보면 프로젝트에서 가장 많이 사용되는 형태이면서 사용할 때마다 자주 까먹는 데이터 <-> 문자 형 변환 클래스입니다.


댓글 1개가 달렸습니다.
댓글쓰기
  1. 나그네
    2017.07.11 11:08 신고 |  수정/삭제  댓글쓰기

    변수1.compareTo(변수2)가 0보다 큰 경우는 변수1이 변수2보다 이후의 날짜입니다. 예로 변수1이 1월 15일 변수2가 1월 16일이면 compareTo값은 양수가 나옵니다.
    변수.compareTo(변수2)가 0보다 작은 경우는 변수1이 변수2보다 이전의 날짜입니다. 예를 들면 변수1이 1월 15일 변수2가 1월 14일이면 compareTo값은 음수가 됩니다.

    위 부분에서 예를 드신 부분이 서로 반대로 된 것 같습니다. 확인해보시고 수정부탁드려요.