1. 현재 시간 가져오기
코딩을 하다보면 현재 시간과 관련된 작업을 해야할 때가 있다. 이런 경우 Java에서는 Date 클래스를 사용할 수 있다. Date 클래스는 다음과 같이 import한다.
import java.util.Date;
이때 현재 시간을 가져오고 싶다면 다음과 같이 Date 객체를 생성하면 된다.
Date now = new Date();
System.out.println(now); // 결과: Tue Jan 17 19:19:23 KST 2023
해당 클래스를 다루는 법은 현재 장에서는 다루지 않고 해당 시간을 내가 원하는 형태의 문자열로 바꾸는 방법을 살펴보자.
2. Date to String (SimpleDateFormat 활용)
Date 클래스 타입을 String 클래스 타입으로 변경하기 위해서는 SimpleDateFormat의 생성자에 포맷을 넘겨주고, format 메서드를 활용하면 된다. 이때 각 포맷 문자의 의미는 다음과 같다.
포맷 문자 | 의미 |
y | 연도 |
M | 월 |
d | 일 |
H | 시간 |
m | 분 |
s | 초 |
우리는 위 포맷 문자를 활용하여 우리가 원하는 형태를 표현해주면 된다. 예제 코드를 살펴보자.
Date nowDate = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowString = format.format(nowDate);
System.out.println("nowString의 자료형: "+nowString.getClass()); // nowString의 자료형: class java.lang.String
System.out.println("nowString 내용: "+nowString); // nowString 내용: 2023-01-18 00:00:24
System.out.println("nowDate 내용: "+nowDate); // nowDate 내용: Wed Jan 18 00:00:24 KST 2023
위와 같이 Date형이 String형으로 올바르게 변형된 것을 확인할 수 있다.
3. String to Date (SimpleDateFormat 활용)
String 클래스 타입을 Date 클래스 타입으로 변경하기 위해서는 SimpleDateFormat의 생성자에 포맷을 넘겨주고, parse 메서드를 활용하면 된다. 단, 이때는 ParseException을 통해 예외처리를 수행해야 한다.
String nowString = "2023-01-18 00:00:24";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date nowDate = format.parse(nowString);
System.out.println("nowDate 내용: "+nowDate); // nowDate 내용: Wed Jan 18 00:00:24 KST 2023
} catch (ParseException e) {
e.printStackTrace();
}
'Java' 카테고리의 다른 글
[Java] Static (0) | 2023.01.30 |
---|---|
[Java] Array (0) | 2023.01.30 |
[Java] ArrayList (0) | 2023.01.17 |
[Java] Eclipse 설치 및 인코딩 설정 (0) | 2022.11.18 |
[Java] JDK 환경설정 (0) | 2022.11.18 |