본문 바로가기

Java/기본

[Java] 유용한 클래스 - Calendar, Date

개요

Calendar, Date 클래스 java.util 패키지에 속해있는 클래스로서 날짜와 시각에 대한 처리를 제공하는 클래스이다.

Date클래스는 일반클래스이고, Calendar 클래스는 추상클래스이다.

 

Date 클래스 날짜와 시간 정보를 저장하는 클래스
Calendar 클래스 구동되는 운영체제의 날짜와 시간 정보를 가져오는 클래스

Date 클래스

Date 클래스 객체 생성

Date date = new Date();

 

Date 클래스로 날짜, 시간 표현시 SimpleDateFormat 클래스를 사용하면 원하는 형식으로 시간을 가져올 수 있다.

SimpleDateFormat 클래스(위치 : java.text.SimpleDateFormat)

 

현재 날짜와 시간 가져오기 예제

import java.text.SimpleDateFormat;
import java.util.Date;

public class test01 {
    public static void main(String[] args) {
        Date date01 = new Date();
        System.out.println(date01);
        
        Date date02 = new Date();
        String string02 = date02.toString();
        System.out.println(string02);       

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 hh시 mm분 ss초");
        System.out.println(sdf.format(new Date()));

        Date date03 = new Date();
        String string03 = sdf.format(date03);
        System.out.println(string03);
    }
}

 

 


Calendar 클래스

calendar 클래스는 1970년 1월 1일을 기준으로 날짜와 시각에 대한 처리를 제공하는 추상클래스이다. 사용자 요청시 현재 구동되고 있는 시스템의 날짜와 시간 값을 가져오게 된다.

 

Calendar 클래스 객체 생성

Calendar 클래스는 추상클래스이기 때문에 객체를 직접 생성할 수 없다. 때문에 getInstance() 메서드로 Calendar 객체를 받아올 수 있으며, 이때 현재 운영체제에 설정된 시간대를 기준으로 인스턴스를 받아온다.

Calendar cal = Calendar.getInstance();

 

주요 메서드

메서드 리턴타입 내용
after(Object when) boolean 현재 시각이 인자로 전달된 값보다 뒤에 있다면 true, 아니면 false
before(Object when) boolean 현재 시각이 인자로 전달된 값보다 앞에 있다면 true, 아니면 false
get(int field) int 인자로 전달된 field에 해당되는 값을 반환(년, 월, 일, 시, 분, 초)
set(int year, int month, int date) void 현재 시각을 새로 설정한다

 

 

Calendar 객체 주소 상수

상수 내용
AM_PM 오전은 0, 오후는 1 반환
DAY_OF_MONTH 한달 중 날짜(1~31)
DAY_OF_WEEK 요일 반환(1~7)
DAY_OF_YEAR 일 년중 몇번째 날인지
DAY_OF_WEEK_IN_MONTH 해당 요일이 이번달 몇 번째인지
HOUR 시각(0~12)
HOUR_OF_DAY 시각(0~24)
MONTH 무슨 달(0~11)
WEEK_OF_MONTH 한 달중 몇 주차인지
WEEK_OF_YEAR 일 년중 몇 주차인지