Calendar

말하는 감자·2024년 12월 27일

자바 중급

목록 보기
12/21
post-thumbnail

개념

날짜와 시간 조작을 위한 추상 클래스.

  1. 인스턴스 생성
Calendar calendar=Calendar.getInstance();
  1. 날짜 설정
calendar.set(Calendar.YEAR,2024);	// 2024년으로 설정
calendar.set(Calendar.Month,calendar.DECEMBER)	// 12월로 설정
calendar.set(Calendar.DAY_OF_MONTH,27);	//27일로 설정
  1. 날짜 및 시간 정보 얻기
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 일반적인 월 표현 위해 +1
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24시간 체계
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
  1. 날짜 조작
calendar.add(Calendar.DAY_OF_MONTH,1); // 하루 더하기
calendar.add(Calendar.DAY_OF_MONTH,-1);// 하루 빼기

Code 예시

import java.util.Calendar;

public class CalendarExam {
    public static void main(String[] args) {
        Calendar cal=Calendar.getInstance();
        System.out.println(cal.get(Calendar.YEAR)); //연도
        System.out.println(cal.get(Calendar.MONTH)+1);    //월
        // 월은 1~12가 아닌 0~11이라 +1
        System.out.println(cal.get(Calendar.DATE)); //일

        System.out.println(cal.get(Calendar.HOUR)); // 0~12시
        System.out.println(cal.get(Calendar.HOUR_OF_DAY));  //0~24시
        System.out.println(cal.get(Calendar.MINUTE));   //분

        cal.add(Calendar.HOUR,5);   //5시간 후
        System.out.println(cal.get(Calendar.HOUR)); // 0~12시
        System.out.println(cal.get(Calendar.HOUR_OF_DAY));
        
    }
}

결과

Code 실습

문제

hundredDaysAfter메소드에서 지금부터 100일 이후가 몇 월 며칠인지를 문자열로 만들어서 return하세요. 예를 들어 100일 이후가 2016년 1월 1일 19시라면 "2016년1월1일"라는 문자열을 return하면 됩니다.

Solution

import java.util.Calendar;

public class CalendarExam {
    public static void main(String[] args) {
        Calendar cal=Calendar.getInstance();
        cal.add(Calendar.DATE,100); //+100일
        int year=cal.get(Calendar.YEAR);//년
        int month=cal.get(Calendar.MONTH)+1;//월
        int day=cal.get(Calendar.DATE);
        System.out.println(year+"년"+month+"월"+day+"일");
    }
}
profile
주니어개발자(?)

0개의 댓글