Java 8 이상의 경우 java.time 패키지를 사용하여 문자열을 Date 객체로 변환하고, 그것을 특정한 타임존의 타임스탬프 형식으로 포맷을 변경할 수 있다.
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// 입력 문자열
String inputString = "2024-03-25T12:30:45";
// 입력 문자열을 LocalDateTime으로 변환
LocalDateTime localDateTime = LocalDateTime.parse(inputString);
// 한국 시간대인 Asia/Seoul의 ZonedDateTime으로 변환
ZoneId zoneId = ZoneId.of("Asia/Seoul");
ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId);
// 원하는 포맷으로 출력
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
String formattedString = zonedDateTime.format(formatter);
System.out.println("한국 시간으로 포맷된 날짜 및 시간: " + formattedString);
}
}
위 코드는 문자열을 LocalDateTime으로 변환한 다음, 지정된 타임존의 ZonedDateTime으로 변환한다.
위 코드에서 ZoneId.of("Asia/Seoul") 을 원하는 타임존으로 변경하여 사용할 수 있다.
출력 포맷은 DateTimeFormatter.ofPattern() 에 전달되는 문자열을 조정하여 변경할 수 있다.
반응형
'Coding > Java' 카테고리의 다른 글
[Java/JPA] JPQL 파라미터 바인딩 (위치 기반) (0) | 2024.04.11 |
---|---|
[Java] String to Date (0) | 2024.04.11 |
[Java] 날짜 더하기 - Date (0) | 2024.04.02 |
[Java/JPA] Entity를 Map으로 변환 (Convert Entity to Map) (0) | 2024.04.02 |
[Java] 시간 차이 계산 - Date (0) | 2024.04.02 |