개발공부 한지 얼마 안되는 초보 입니다.
php 로 개발하다가 .. 이제 앱도 만들어보고 하려고
node.js 로 바꿔서 .. 공부 중입니다.
서버는 express.js 에 db는 mariadb 를 사용하고 있습니다.
express에서
var test = new Date() 해서.. mariadb로 저장하면.. 정상적으로 저장이 됩니다 (우리나라 시간으로)
그리고 이후에 .. mariadb에서 select 해서 ... 변수로 가져오면..
정상적인 시간값이 들어가있습니다.
node.js 에서 그 변수를.. res.json() 으로 변환해서 보내거나 toJSON() 이나 stringify로 변경하면..
UTC를 반환해버립니다.. 클라이언트에서도 UTC값을 받게 되구요 .. -9시간 된 UTC 값을 받게 됩니다.
처음엔 뭐때문에 그런지 몰랐는데 . toJSON이나 JSON관련 변환을 거치면..
timezone 이 UTC로 변경되고 뒤에 Z가 붙는거더군요 ...
질문은.. 어떻게 하면... 생성 -> 저장 -> 불러오기(서버) 여기까진 정상 인데 ..
클라이언트로 보내거나 json 로 변환시 KST 타임존 그대로 변환하고 싶은데 .. 방법을 찾을 수가 없네요 ..
php 에는.. 이런적 한번 없는데 .. nodejs 로 와서는 이거 뿐만 아니라 이런 저런 생각지도 못한
난관에 부딪히는 일이 잦네요 .. 제일 처음에 콜백에서부터 ... 힘들었음 ㅜㅜ
혹시 같은 문제 해결해보신 경험 있으시면 답변좀 해주실 수 있을까요?
저장하고 불러오는건 정상적으로 됩니다..
서버에서 클라이언트로 갈때 json 변환시에 .. UTC시간으로 변경 되는게
문제입니다.
한페이지에 1000개 정도 하는데
불러 드릴 때마다 반복문으로 변환 시켜주는 건 좀 무리가 있을 듯 싶습니다.
반복문 돌려서 .. 변환 하라고 하실까봐 미리 댓글 달아봅니다.
이것저것 다 해봐도 안됩니다.
그래서 mysql 에서 datetime type 이면.. string으로 형변환 해서 .. 보내도록 어찌어찌 해버렸네요. 잘한건지는
모르겠습니다 ㅜㅜ