[ 내일배움캠프 - Nest.js ] 트렐로 서비스 팀 프로젝트 | Threello - Timezone 이슈

sooyoung choi·2024년 1월 11일
0

내일배움캠프

목록 보기
15/19
post-thumbnail

사용자 정보 반환 시 마감 일을 같이 반환해줘야하는데

mysql상으로는 2024-01-10 20:00:00 값으로 들어와있었고,

nest.js 서버 실행 후 마감 기한을 조회해봤는데,

내가 입력해놓은 값과 다르게 시간이 출력되고 있었다.
물론 마감일이랑 현재 시간이랑 비교했을때 현재 시간도 똑같이 UTC+0이 적용돼서 비교하는 로직에는 문제가 없었지만,
사용자에게 정보 반환할때는 사용자가 입력한 값으로 보여줘야하는 상황이었다.

🙋‍♀️내가 해결한 방식

  • 단순하게 시간에다가 9시간을 더해주었다.
  • 결과적으로 봤을 때는 사용자가 입력한 값 그대로 반환이 되었지만,

이 방법이 맞는 방법인지에 대해 의문이 생겼다. 시도한 방식은 따로 있었다.

👩‍💻 시도해봤던 방식

  • 환경변수로 타임존을 지정해두고 서버를 실행하는 방식이었다.
  • 그치만 이 방법으로는 해결이 되지 않았다 -> 좀 더 알아봐야겠다!

1. .env 추가

TZ=Asia/Seoul

2. nest.js package.json 파일 수정

"start:dev": "TZ=Asia/Seoul nest start --watch",

3. cross-env 설치

npm i cross-env

4. TypeORM 설정 변경

export const typeormConfig: TypeOrmModuleOptions = {
	...
  timezone: 'Asia/Seoul',
	...
};

0개의 댓글