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 인스턴스에 저장된 날짜와 시간 중 년, 월, 일을 변경하는 메서드
반응형