1. Calendar 클래스


- 날짜와 시간에 대한 정보를 갖는 클래스


- 추상클래스이므로 객체를 생성할 수는 없고 자식클래스를 이용하거나 getInstance메소드를 통해 내부적으로 생성된 Calendar객체를 얻어와 사용


 예)

 // 내부적으로 생성된 현재시각에 대한 정보를 갖는 Calendar객체 얻어오기

 Calendar cal=Calendar.getInstance();

 


import java.util.Calendar;

public class Test01_Calendar {


    public static void main(String[] args) {


        //public static Calendar getInstance()

        //현재시각에 대한 정보는 갖는 날짜 객체 얻어오기

        Calendar cal=Calendar.getInstance();

        

        //2012년 2월 1일에 대한 정보로 설정

        cal.set(2012,1,1);

        

        //System.out.println(cal);


        //public int get()


        //현재 년도 얻어오기

        int y=cal.get(Calendar.YEAR);


        //월얻어오기(1월은 0값을 갖음)

        int m=cal.get(Calendar.MONTH)+1;


        //날짜 얻어오기

        int d=cal.get(Calendar.DATE);

        System.out.println(y +"년 " + m +"월 " + d +"일");


        //요일에 해당하는 숫자값을 얻어옴(일요일:1 ~ 토요일:7)

        int w=cal.get(Calendar.DAY_OF_WEEK);

        String str="";

        switch(w){

            case Calendar.SUNDAY    :

                str="일요일";break;

            case Calendar.MONDAY    :

                str="월요일";break;

            case Calendar.TUESDAY    :

                str="화요일";break;

            case Calendar.WEDNESDAY :

                str="수요일";break;

            case Calendar.THURSDAY:

                 str="목요일";break;

            case Calendar.FRIDAY:

                str="금요일";break;

            case Calendar.SATURDAY:

                str="토요일";break;

        }

        System.out.println("오늘은 " + str +"입니다.");


        //현재시간을 출력해 보세요. xx시 xx분 xx초

        Calendar cal1=Calendar.getInstance();

        int h=cal1.get(Calendar.HOUR_OF_DAY);

        int mi=cal1.get(Calendar.MINUTE);

        int s=cal1.get(Calendar.SECOND);


        System.out.println("현재시간:" + h+"시" + mi+"분" + s+"초");

        

        //public int getActualMaximum(int field)

        //field중에서 가장 큰값 얻어오는 메소드

        int mm=cal1.getActualMaximum(Calendar.MONTH);

        System.out.println("month중 가장 큰값:" + mm);


        //해당월 중에 가장 큰 날짜(day)얻어오기

        int day=cal1.getActualMaximum(Calendar.DAY_OF_MONTH);

        System.out.println("이번달은 " + day +" 까지 있어요!");

    }

}





2. GregorianCalendar  


ex> GregorianCalendar사용하여 윤년인지 아닌지 확인

package test01.aa;

import java.util.Calendar;

import java.util.GregorianCalendar;


public class Test02_GregorianCalendar

{

    public static void main(String[] args)

    {

        

          //2011년 2월1일에 대한 정보를 갖는 날짜객체 생성

        GregorianCalendar cal = new GregorianCalendar(2011,1,1);


        int y=cal.get(Calendar.YEAR);

        int m=cal.get(Calendar.MONTH) + 1;

        int d=cal.get(Calendar.DATE);

        System.out.println(y + "년 " + m + "월 "+ d + "일 ");

        

        // 윤년인지 아닌지 얻어옴.(true,false)

        boolean b=cal.isLeapYear(y);

        if(b){

            System.out.println("윤년입니다.");

        }else{

            System.out.println("윤년이 아닙니다.");

        }

    }

}



 

 

'JAVA' 카테고리의 다른 글

자바 IO - Stream ( Ⅰ )  (0) 2014.09.12
예외처리 ( Exception )  (0) 2014.09.12
자료구조 - ArrayList / 제네릭 클래스 / 확정for 문  (0) 2014.09.12
자료구조 - Map  (0) 2014.09.12
자료구조 - Stack / TreeSet  (0) 2014.09.12

+ Recent posts