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

2020-12-16


20201209_174543.png
etc-image-1

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


etc-image-2

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

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 객체에 담아주면 된다.

etc-image-3


etc-image-4

하지만 위와 같은 시간 정보는 한국사람들에게는 다소 한눈에 들어오지 않을 수도 있다. 이러한 문제를 해결하기 위해서 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);
		//자신만의 원하는 포맷을 원할경우 위에처럼 변경할수 있음
	}

}

etc-image-5

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

etc-image-6