java.util 패키지와 utility 클래스

Date 클래스

형식이 있는 날짜와 시간을 출력하는 클래스

Date 객체를 이용한 프로그램의 실행 시간 체크

Java
import java.util.Date;

public class DateTest { 
    public static void main(String[] args) {
        Date currentDate = new Date();
        long start = currentDate.getTime();

        System.out.println(currentDate.toString());
        System.out.println(currentDate.toLocaleString());

        currentDate = new Date();
        long end = currentDate.getTime();
        System.out.println("프로그램 수행에 걸린 시간 : " + (end - start) + "(ms)초")
    }
}

Calendar 클래스

Date 클래스와 같이 날짜와 시간에 관한 정보를 출력할 때 사용. 단, Calendar 클래스는 추상 클래스이므로 직접 객체 생성 불가

-> getInstance() 메서드를 이용하여 객체 생성 가능

Calendar 클래스의 객체 생성

Java
import java.util.Calendar;

public class CalendarTest { 
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();

        int year = cal.get(Calendar.YEAR);
        int mon = cal.get(Calendar.MONTH) + 1;
        int day = cal.get(Calendar.DAY_OF_MONTH);
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        int min = cal.get(Calendar.MINUTE);
        int sec = cal.get(Calendar.SECOND);

        System.out.println("현재 시간");
        System.out.println(year + "년" + mon + "월" + day + "일");
        System.out.println(hour + "시" + min + "분" + sec + "초");
    }
}

Formatter 클래스

형식 문자열을 제공하고, 이 문자열에서 지정한대로 데이터가 형식화되어 출력됨(C언어의 printf()와 같은 기능 제공)

Formatter 클래스의 format들

데이터 타입별 format

format 설명
%B, %b - 논리형 데이터에 사용
- “%B”는 “TRUE”, “FALSE” 형태로, “%b”는 “true”, “false” 형태로 출력
%C, %c - 문자형 데이터에 사용
- Byte, Short, Character, Integer 등 문자 표현 가능 Wrapper 클래스
%d - 10진수 정수형 데이터에 사용
- Byte, Short, Integer, Long, BigInteger 등 정수 표현 가능 Wrapper 클래스
%e - 10진수 지수형 데이터에 사용
- Float, Double, BigDecimal 등 지수 표현 가능 Wrapper 클래스
%f - 일반적인 실수형 데이터에 사용
- Float, Double, BigDecimal 등 실수 표현 가능 Wrapper 클래스
%x - 16진수 정수형 데이터에 사용
- Byte, Short, Integer, Long, BigInteger 등 정수 표현 가능 Wrapper 클래스
%o - 8진수 정수형 데이터에 사용
- Byte, Short, Integer, Long, BigInteger 등 정수 표현 가능 Wrapper 클래스
%s - 객체의 문자열 데이터에 사용
- 해당 객체의 toString() 메서드 결과가 출력
%t - 날짜형 데이터에 사용
- Date, Calendar 클래스에 사용
%n - 개행처리에 사용
%% - % 문자 출력에 사용

%t 날짜 format

날짜 타입 format 설명
%tA 요일 출력
%tY 4자리 년도 출력
%tB 월의 이름(January, Febuary, …)
%tm 01 ~ 12로 표현하는 월 출력
%te 1 ~ 31로 표현하는 날짜 출력
%tk 0 ~ 23으로 표현하는 시간 출력
%tl 1 ~ 12로 표현하는 시 출력
%tM 00 ~ 59로 표현하는 분 출력
%tS 00 ~ 59로 표현하는 초 출력
%tZ 타임존 출력

Formatter 클래스 객체 생성

Java
import java.util.Calendar;
import java.util.Formatter;

public class CalendarTest { 
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
        Formatter formatter = new Formatter(sb);
        Calendar cal = Calendar.getInstance();

        int i = 1;
        int j = 2;
        int k = i + j;
        String str = "<< 연산 결과 >>";

        formatter.format("%s%n", str)
        formatter.format("%d와 %d를 더하면 %d가 됩니다.", i, j, k)
        formatter.format("현재 시간은 %tk시 %tm분 %ts초 입니다.", c, c, c)
        System.out.println(formatter.toString());
    }
}