0%

3월 12일 연구일지(Javascript에서 date 전송 시 Java8의 LocalDateTime의 값 문제 처리)

오늘의 주제는?

최근 개발하며 겪은 시행착오(라 쓰고 삽질이라 읽는…)를 정리한 개인 개발일지에 내용이 많이 쌓이고 있네요.
그 중 하나를 정리할까 합니다.


Javascript에서 Spring으로 Date 전송 시…

Javascript단에서 Ajax등으로 서버에 전송할 때 날짜 값을 전달해야 할 때가 있습니다.
그때 Js에서 Date 객체를 사용하여 날짜 값을 전달합니다.
var dateObj = new Date();

저의 경우 Server측은 Spring-Boot를 많이 사용하는데, Ajax로 들어온 값을 확인해보면 전달된 Date 값이 안맞는 경우가 있습니다.
이때는 Js측에서 Date.UTC를 활용하면 됩니다.

1
2
3
4
5
6
7
"startDate":new Date(
Date.UTC(startDateStr.split("-")[0],
startDateStr.split("-")[1]-1,
startDateStr.split("-")[2],
startDateStr.split("-")[3],
startDateStr.split("-")[4], 0)),
....

Date.UTC() 함수는 생성자의 매개변수를 받아서 Date 객체에서 1970년 1월 1일 00:00:00(UTC)부터의 시간을 밀리초 단위로 변환합니다.

Date.UTC() 형태는 아래와 같습니다.

Date.UTC(year, month[, day[, hour[, minute[, second[, millisecond]]]]])

**Date.UTC()**의 참고 사항은 아래에서 참고하였습니다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC
https://docs.microsoft.com/ko-kr/scripting/javascript/reference/date-utc-function-javascript