Programming Language/Java

[Java] Calendar, 날짜와 시간

깐요 2017. 3. 20. 17:02

Calendar 클래스

Calendar 클래스는 자바 라이브러리에 포함되어 있는 클래스다

비슷한 클래스로 Date 가 있지만 이는 자주 사용하지 않으므로 넘어가도록 한다

단 Calendar 는 추상클래스이므로 직접적으로 객체를 생성할 수 없다


자주 사용되는 상수 목록


static int    YEAR                    현재 년도

static int    MONTH                현재 월 (1월 - 0)

static int    DATE                    현재 날짜

static int    WEEK_OF_YEAR       현재 년도 기준 몇째 주

static int    WEEK_OF_MONTH   현재 월 기준 몇째 주

static int    DAY_OF_YEAR         현재 년도 기준 몇 일

static int    DAY_OF_MONTH     현재 월 기준 몇 일

static int    DAY_OF_WEEK        현재 요일 (일요일 - 1, 토요일 - 7)

static int    HOUR                   현재 시간 (12시간)

static int    HOUT_OF_DAY        현재 시간 (24시간)

static int    MINUTE                 현재 분

static int    SECOND                현재 초


위 상수들은 Calendar의 get() 메소드를 이용해서 사용해야한다

그렇지 않은 경우 원하는 결과 값이 나오지 않을 수도 있다


자주 사용되는 메소드 목록


boolean    equals(Object obj)                같은 날짜값인지 비교하여 true, false 값을 반환

int    get(int field)                               현재 객체의 주어진 값의 필드에 해당하는                                                       상수(Calendar 클래스의 상수) 값을 반환

static Calender    getInstance()              현재 날짜와 시간 정보를 가진 Calendar 객체를 생성

Date    getTime()                                현재 객체를 Date 객체로 변환

void    setTime(Date date)                     date 객체의 날짜와 시간 정보를 현재 객체로 생성

void    set(int field, int value)                 특정 필드를 다른 값으로 설정

void    set(int year, int month, int date)    년, 월, 일 값을 다른 값으로 설정

void    set(int year, int month, int date,     현재 객체의 년, 월, 일, 시, 분, 초 값을

           int hour, int minute, int second)   다른 값으로 설정


import java.util.*;
 
public class Test {
 
    public static void main(String[] args) {
        
        //Calendar 객체 생성
        Calendar cal = Calendar.getInstance();
        //현재 시간 변수
        int currentHour = cal.get(Calendar.HOUR_OF_DAY);
        
        //현재 날짜 정보 출력
        System.out.println("현재 시간: " + cal.getTime());
        
        //11시 이전일 경우
        if (currentHour < 11)
        {
            System.out.println("Good morning");
        }
        //11시 이후부터 15시 이전일 경우
        else if (currentHour < 15)
        {
            System.out.println("Good afternoon");
        }
        //15시 이후부터 20시 이전일 경우
        else if (currentHour < 20)
        {
            System.out.println("Good evening");
        }
        //그 외의 경우
        else
        {
            System.out.println("Good night");
        }
    }
}


320x100

'Programming Language > Java' 카테고리의 다른 글

[Java] Laser Maze 게임 Prototype  (1) 2017.06.11
[Java] 객체 지향 프로그래밍  (0) 2017.04.07
[Java] 배열의 복사  (0) 2017.04.06