본문 바로가기
Java

Java Date 날짜, 시간 패턴 바꾸기

by 오렌지마끼야또 2022. 8. 12.
728x90
반응형

 

 

 

 

 

개발을 하다가 시간 패턴을 바꿔야 하는 일이 생겼다. 처음엔 몰라서 이것 저것 찾다가 해결하고 까먹을까봐 적어놓는다.

 

 

 

직면한 문제

DB에서 데이터를 가져왔더니 "2016-02-05 오후 06:42:47" 로 나오더라

하지만 내가 필요한건 "20160205184247" 패턴이다.

사실 좀 더 정확히 말하면 DB에는 "2016-02-05 18:42:47.000" 로 담겨있는데

쿼리에서 SELECT replace(replace(to_char(write_dt, 'yyyy-mm-dd am hh:mi:ss'), 'am', '오전'), 'pm', '오후') write_dt,

로 가져온다. 쿼리를 바꾸면 되지 않느냐고 할 수 있지만 그럴 수가 없는 상황이었다.

이미 개발되어 있는 API의 기능을 가져다 쓰는 경우였기 때문이다.

때문에 나는 코드상에서 패턴을 바꿔주어야 했다.

 

 

방법

1. String 을 Date 타입으로 변환하기

2. Date 를 내가 원하는 패턴의 String으로 바꾸기

 

 

 

 

1. String 을 Date 타입으로 변환하기

String strDate = "2016-02-05 오후 06:42:47"

// yyyy-MM-dd a hh:mm:ss 패턴으로 되어있는 String을
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd a hh:mm:ss");

// Date 타입으로 변환한다.
Date date = formatter.parse(strDate);

a 는 오전, 오후를 나타낸다.

 

 

 

2. Date 를 내가 원하는 패턴의 String으로 바꾸기

// yyyyMMddHHmmss 패턴을 설정하고
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");

// 해당 패턴으로 바꾼다.
String afterDate = data Format.format(date);

 

 

 

 

 

 

 

참고 사이트

 

https://hianna.tistory.com/609

 

https://vicki.tistory.com/1294

 

https://codechacha.com/ko/java-simple-date-format-and-parsing/

 

https://okky.kr/article/45969

 

https://stackoverflow.com/questions/70677584/when-hour-12-it-parses-to-00-why

 

 

 

 

728x90
반응형

'Java' 카테고리의 다른 글

자바 저장 글  (0) 2024.07.09
HashMap이 저장되는 형태와 원리, heap, stack 메모리구조  (0) 2024.06.10
에러메세지는 어떤걸 남겨야 할까?  (0) 2023.07.11
VO, DTO, Entity  (0) 2022.08.03
Java Optional  (0) 2022.07.29

댓글