[Java] 자바 Date 타입 쉽게 알아보기!

2020-12-16


Date 타입 / 타입 이름에서도 느껴지듯이 날짜를 받는 속성으로써 사용된다. 또한 java.util.Date에 속해 있어 import를 시켜주지 않으면, 컴파일 상에서 오류가 발생하게 되는 점도 알아두자.


사용법은 간단하며, 아래와 같다.

package tDate;

import java.util.Date;

public class main {

	public static void main(String[] args) {
		Date day = new Date();
		System.out.println(day);
		//현재날짜 / 시간을 출력할 수 있음
		//문자열을로 바꾸고 싶으면 String 객체에 toString으로 담아주면됨.

위와 같이 day라는 객체를 선언해준 후 출력해주면, 아래와 같이 현재 시간에 대한 정보를 확인할 수 있다. 다만 해당 시간 정보가 들어간 문자열을 String으로 활용하고 싶으면 toString으로 해당 문자열을 받아 새로운 String 객체에 담아주면 된다.


하지만 위와 같은 시간 정보는 한국사람들에게는 다소 한눈에 들어오지 않을 수도 있다. 이러한 문제를 해결하기 위해서 SimpleDateFormat이라는 클래스가 있는데 해당 클래스를 활용하면, 자신이 원하는 방법으로 날짜의 출력방식을 변경할 수 있다. 마찬가지로 java.text.SimpleDateFormat 에 속해 있어 import를 해주어야 한다. 사용법은 어렵지 않으며, 아래와 같다.

package tDate;

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

public class main {

	public static void main(String[] args) {
		Date day = new Date();
		System.out.println(day);
		//현재날짜 / 시간을 출력할 수 있음
		//문자열을로 바꾸고 싶으면 String 객체에 toString으로 담아주면됨.
		
		SimpleDateFormat fDay = new SimpleDateFormat("오늘의 날짜와 시간은 yyyy년 MM월 dd일 E요일 hh시 mm분 ss초입니다.");
		String sfDay = fDay.format(day);
		System.out.println(sfDay);
		//자신만의 원하는 포맷을 원할경우 위에처럼 변경할수 있음
	}

}

기존에 날짜 출력문보다 좀 더 가독성이 높아진 것을 볼 수 있다. SimpleDateFormat 클래스 사용 시 생성자에 원하는 포맷을 넣어주면 되는데, 위에 코드에서도 볼 수 있듯이  y = year / M= month / d = day... s / second 인 것을 어느 정도 눈치챘을 것이다.