Java

Java.util.Calendar에 대하여

nan2 2022. 2. 4. 15:22
반응형

Java.util.Calendar는 날짜와 시간을 객체 모델링한 클래스이다. 년, 월, 일, 요일, 시간, 분, 초 등을 제공해준다.

객체는 아래 Calendar.getInstance() 와 같이 싱글톤 패턴으로 생성한다. (추상클래스는 new 로 인스턴스 생성 X )

 

시스템의 현재 날짜와 시간을 가지는 Calendar 인스턴스를 반환해준다.

Calendar cal = Calendar.getInstance();

 

 

- cal.toString()

Calendar 인스턴스가 가지고 있는 날짜와 시간을 문자열로 변환하여 반환하는 메서드

 

 

- cal.get(int field)

Calendar 인스턴스가 가지고 있는 정보 중 상수를 전달하여 원하는 값을 반환하는 메서드

public static void main(String[] args) {
	
    // 인스턴스 생성 [2022년 2월 4일 금요일 기준]
    Calendar cal = Calendar.getInstance();
 
    System.out.println("현재 연도 : " + cal.get(Calendar.YEAR));		          
    System.out.println("현재 연도의 몇째 주 : " + cal.get(Calendar.WEEK_OF_YEAR));		  

    System.out.println("현재 월 : " + cal.get(Calendar.MONTH));		                     // (1월: 0)
    System.out.println("현재 월 : " + (cal.get(Calendar.MONTH) + 1));                       // +1 해줘야 우리가 아는 현재 월이 나옴	+1 할때 문자열 합쳐지지 않고 연산되도록 주의..!
    System.out.println("현재 월의 몇째 주 : " + cal.get(Calendar.WEEK_OF_MONTH));   

    System.out.println("현재 월의 날짜 : " + cal.get(Calendar.DATE));                 
    System.out.println("현재 연도의 날짜 : " + cal.get(Calendar.DAY_OF_YEAR));          
    System.out.println("현재 월의 날짜 : " + cal.get(Calendar.DAY_OF_MONTH));               //DATE 와 DAY_OF_MONTH는 같다.

    System.out.println("현재 요일 : " + cal.get(Calendar.DAY_OF_WEEK));                     //1: 일요일, 2:월요일 3: 화요일 ... 7: 토요일

    System.out.println("현재시간(0~11) : " + cal.get(Calendar.HOUR));                       //12시간제
    System.out.println("시간(0~23) : " + cal.get(Calendar.HOUR_OF_DAY));                    //24시간제
    System.out.println("현재 분(0~59) : " + cal.get(Calendar.MINUTE));                     
    System.out.println("현재 초(0~59) : " + cal.get(Calendar.SECOND));         

    System.out.println("이 달의 몇번째 요일 : " + cal.get(Calendar.DAY_OF_WEEK_IN_MONTH));
}

 

[ 출력결과 ]

현재 연도 : 2022
현재 연도의 몇째 주 : 6
현재 월 : 1
현재 월 : 2
현재 월의 몇째 주 : 1
현재 월의 날짜 : 4
현재 연도의 날짜 : 35
현재 월의 날짜 : 4
현재 요일 : 6
현재시간(0~11) : 5
시간(0~23) : 5
현재 분(0~59) : 50
현재 초(0~59) : 50
이 달의 몇번째 요일 : 1

* Java에서 month는 0부터 시작하기 때문에 +1 해줘야 원하는 month를 가져오거나 변경할 수 있다.

* 1: 일요일, 2: 월요일, 3: 화요일, 4: 수요일, 5: 목요일, 6: 금요일, 7: 토요일

 

 

- cal.set(int year, int month, int date)

Calendar 인스턴스에 저장된 날짜와 시간 중 년, 월, 일을 변경하는 메서드

 

 

 

반응형