인프런 커뮤니티 질문&답변

SJ님의 프로필 이미지
SJ

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

BaseModel 적용하기

UTC 시간대 변경

작성

·

102

·

수정됨

1

timezone: 'Asia/Seoul', // 한국 시간대 설정

로 변경하거나

timezone: '+09:00', // 한국 시간대 설정

로 변경을 해도 시간대가 UTC 시간으로 저장이 되는것 같아요 !

한번 데이터베이스로 가서

select now() 로 찍어보니까

application 단에 작성한 timezone 과 다르게

utc 시간대로 설정되어있어서 그런것 같더라구요

디비의 시간대를 변경하면 되긴한데 , 그러면 취지와 맞지 않는것 같아서 어떻게 하면 될까요 ?

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

애초에 타임존을 바꾸고싶다면 디비 시간대를 원하시는 타임존으로 설정하시면 됩니다.

다만 타임존은 항상 유연하게 변경 할 수 있어야해서 특정 타임존을 사용하지않고 UTC를 사용하는게 제일 보편적입니다.

만약에 로컬 타임이 필요하다면 보통 UTC 타임으로 프론트엔드에 보내고 프론트엔드에서 현지에 맞는 시간대로 변환해 사용합니다.

감사합니다!

SJ님의 프로필 이미지
SJ
질문자

그렇다면 지금 timezone 을 app.module.ts 에서 설정했지만 하지않고 UTC 시간대로 그대로 두고

나중에 프론트에 created_at 이나 updated_at 을 전달하게 될때 프론트에서 그럼 시간대를 처리한다는거죠 ??

ex ) 한국기준

# backend
return {
   ....
   created_at: 2024-07-16 03:08:38.781236
}

# frontend
const res = await axios.get(backend_api_url);
const { created_at } = res;
# created_at 을 가져와서 +09:00 으로 더해줌

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

네 맞습니다.

쉽게 생각하면 서버에서 한국 타임존으로 바꿔봤자 기기가 미국에 있다면 어차피 프론트엔드에서 다시 프로세싱 해야합니다.

그렇기 때문에 균일된 타임존인 UTC를 주로 사용합니다.

SJ님의 프로필 이미지
SJ

작성한 질문수

질문하기