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());
}
}