본문 바로가기

code 정리 모음집

[Sequelize - timezone] 한국 local time으로 입출력하기

반응형

 

Sequelize에 Date를 default로 넣어주게 되면 (timestamps) 저장하는 기준시간이 UTC 기준으로 되어버린다! 

 한국의 local time은 UTC + 09:00 이어서 요 설정값을 config에 넣어주면 된다. 

그리고 중요한 점 ** db에 한국시간으로 잘 저장이 되어있어도 꺼내올 때 다시 UTC 00:00 기준으로 가져오게 된다. 이 때는 string값으로 시간을 가져오면 변동없이 잘 가져올 수 있다.

 

 

config 

1. timezone 부터 define까지 추가하기 

{
    "development": {
      "username": "root",
      "password": "",
      "database": "byd",
      "host": "127.0.0.1",
      "dialect": "mysql", 
      "timezone":"+09:00",             // 한국 timezone 설정 
      "dialectOptions":{
        "dateStrings":true,            // 가져올 때 string으로 가져오기 
        "typeCast":true
      },
      "define":{
        "timestamps":true
      }
    },

 

 

 

models - index.js에서 config를 config - config.json에서 가져와서 config.json에서 변경 

 

 

그럼 한국시간에 맞춰서 잘 나온다 ! 

반응형