[javascript] javascript로 날짜형태 바꾸기 + Json 날짜형식 변경

 

프로젝트 진행 중 백에서 값을 받아와 프런트로 바로 넘겨줘야 하는 일이 생겼다.

코드를 잘못 짠 거 같지만 경험으로 삼고 이대로 가보자

문제는 AJAX를 사용해서 날짜 형태가 JSON으로 바껴서 "yyyy-MM-ddTHH:mm:ss.XXX+XXXX"형식으로 나온다.

앞선 형식을 "yyyy-MM-dd HH:mm:ss" 형태로 변경을 해야 한다.

문제가 되는곳 

 

 

해결방안은 총 두개를 찾았다.

 

 

첫 번째

 

라이브러리를 사용하는것!

https://momentjs.com/

 

Moment.js | Home

Format Dates moment().format('MMMM Do YYYY, h:mm:ss a'); moment().format('dddd'); moment().format("MMM Do YY"); moment().format('YYYY [escaped] YYYY'); moment().format(); Relative Time moment("20111031", "YYYYMMDD").fromNow(); moment("20120620", "YYYYMMDD"

momentjs.com

찾을 시간을 줄여줄 cdn입니다.

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

 

사용방법

moment(바꾸고 싶은 값).format("YYYY-MM-DD HH:mm:ss");

 

결과

 

 

 

 

 

두 번째

 

JACKSON 라이브러리 중 @JsonFormat을 사용하는 것 

pom.xml에 spring-boot-starter-web가 있다면 라이브러리를 추가해줄것은 없다.

 

https://addio3305.tistory.com/101

 

[스프링 부트 시작하기] @JsonFormat과 Jackson2ObjectMapperBuilderCustomizer를 사용해서 날짜 형식 지정하기

안녕하세요. 오늘은 지난 글에 이어서 날짜 형식을 지정하는 방법에 대해서 살펴보겠습니다. ---------------------------------------------------------------------------------------------------------------..

addio3305.tistory.com

 

 

DTO

@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone="Asia/Seoul")
private Date issueDate;

 

 

결과

 

 

 

Tip.

필드에 있는 값을 변경해 주기 위해선 

https://compunication.tistory.com/7

 

[java.spring]jsp 날짜 포맷 형식 변환

java spring에서 mysql에 datetiem필드로 되어있는 값을 가져오면 포맷이 이상하게 바뀌어서 들고 오는 것을 확인하였다. 그래서 일반적으로 보기 좋은 yyyy-MM-dd HH:mm:ss 형식으로 바꾸고 싶어 고민하였다. 우..

compunication.tistory.com