-
Sequelize에서 날짜에 대한 타임존 처리 하기NodeJS 2020. 7. 15. 22:51728x90
Sequelize에서 날짜에 대한 타임존 처리 하기
Sequelize에서 날짜형(date)을 저장시 -9:00 된 값으로 저장이 됩니다.
EX) 6월 4일 00:00 => 6월 3일 15:00
서버의 타임존도 KST이고, DBMS의 타임존도 KST임에도 저장시 -9시간이 됩니다.
이럴때는 connection에 timezone을 설정하면 처리가 됩니다.
아래는 처리 하는 Sequelize Connection 예제입니다.
const Sequelize = require("sequelize"); // Option 1: Passing parameters separately const sequelize = new Sequelize( process.env.MYSQL_DB, process.env.MYSQL_USER, process.env.MYSQL_PASS, { host: process.env.MYSQL_URL, dialect: "mysql", dialectOptions: { charset: "utf8mb4", dateStrings: true, typeCast: true }, // 날짜의 경우 문자열로 타입 변경 처리 timezone: "+09:00", // 타임존을 설정 pool: { max: 5, min: 0, acquire: 30000, idle: 10000, }, define: { // The `timestamps` field specify whether or not the `createdAt` and `updatedAt` fields will be created. // This was true by default, but now is false by default timestamps: false, supportBigNumbers: true, }, } ); module.exports = sequelize;
주요 설정으로 타임존과 날짜를 외부에 보낼때 처리만 추가 해주면 됩니다.
참고자료
728x90'NodeJS' 카테고리의 다른 글
Node] Sequelize에서 MSSQL 연동시 RFC 6066 오류 해결 방법 (0) 2020.12.22 Node] sequelize에서 mysql 로그인시 unknown plugin sha256_password 오류 발생 (0) 2020.12.20 Nodejs에서 Typescript 사용해보기! (0) 2020.07.14 swagger-node에서 express-session 설정 & 사용하기 (0) 2020.07.13 nodeJs] 첨부 파일를 다른 서버로 전달하기 (0) 2020.07.11