mysql 로 데이터 등록 할 때 날짜 컬럼의 data type 를 datetime 으로 셋팅하고 데이터를 넣었다가
어느 날 보니 vue js 로 제작된 페이지에 날짜가 8시간을 넘긴 후의 시간으로 나와서 어디서부터 문제인가 찾기 시작하다 해결해서 적어 놓음.
node.js 서버에서 데이터를 넣을 때 아래처럼 날짜와 함께 넣었다.
INSERT INTO A테이블 (mid, comment, regdate) VALUES ("test-id", "abcabc", NOW())
만약 아래처럼 데이터 불러올 때 바로 불러오고,
SELECT mid, comment, regdate FROM A테이블 where order by regdate DESC
이걸 vue js 에서 노출하면 타임존 계산이 되서 8시간 앞의 시간으로 노출된다.
vue.js 에서 momont 와 moment-timezone 을 vue.js에서 설치하여 사용하면 되지만 위에 node.js 에서 가져올때 쿼리문에 데이터 형식을 좀 바꾸면 된다.
SELECT mid, comment, DATE_FORMAT(regdate, '%Y.%m.%d') as regdate FROM A테이블 where order by regdate DESC
이렇게 date_format() 이용해서 노출 형식도 2019.06.25 처럼 노출할 수 있다.