Java 다양한 날짜 구하기

less than 1 minute read

지난 주, 지난 달, 지난 해, 올해, 이번 주, 이번 달을 표현하기 위해 아래와 같이 Date, Calendar를 이용한 날짜 메서드를 구현했습니다.
실무에서 JDK1.7을 사용하여, JDK1.8이상은 java.time 패키지를 사용합니다.

Get dates using Java

Date Class

  • 날짜와 시간 정보를 처리하는 클래스
  • JDK버전 업이 되면서 deprecate된 메서드가 존재함

Calendar Class

  • 날짜와 시간 데이터를 처리하는 추상클래스
  • Calendar.DAY_OF_WEEK: 현재 요일에서 1~7(일,월,화,수,목,금,토) 값을 반환합니다.
  • Calendar.MONTH: 1~12월까지 중 이번 달에 해당하는 값을 (0~12) 반환합니다.
    • ex) 6월 -> 5 반환

Sample Code

  • DateCalculator class: 날짜 메서드를 제공하는 클래스
      public String thisWeek() {
          Date date = new Date();
          Calendar calendar = Calendar.getInstance();
          calendar.setTime(date);
    
          // DAY_OF_WEEK: 이번 주의 요일을 셋팅한다.
          int thisDay = calendar.get(Calendar.DAY_OF_WEEK);
    
          calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
          String first = dateFormat.format(calendar.getTime());
    
          calendar.set(Calendar.DAY_OF_WEEK, thisDay);
          String last = dateFormat.format(calendar.getTime());
    
          return String.format(DATE_STRING_FORMAT, first, last);
      }
    
  • DateCalculatorTest class: 테스트 클래스 (각 테스트 케이스 존재)
    결과

아래 링크에서 전체 코드를 확인 할 수 있습니다.
전체 소스 코드

Categories:

Updated:

Leave a comment