TIL
[Date] date 함수
bunbun2
2024. 3. 26. 15:24
Date 함수의 .now() 등을 통해 얻어온 값은 utc기준 값인지, 로컬 기준 값인지 확인하기.
또 거기서 .getHours()등의 메소드로 추출한 값이 로컬기준의 값인지 utc 기준의 값인지 확인하기
date 객체는 로컬과 utc 두가지의 시간을 각각 보유하고있음
KST로컬시간을 쓰는 서버에서 DATE함수를 이용해서
UTC 시간을 쓰는 DB에서 createdAt 기준으로 조회한다고 할 때,
KST는 UTC보다 9시간이 빠르니 그걸 계산한답시고
const sixOfTodayKST = new Date();
sixOfTodayKST.setHours(6, 0, 0, 0);
const sixOfTodayUTC = new Date(sixOfTodayKST.getTime() - (9 * 60 * 60 * 1000));
이렇게 getTime으로 시간을 불러온 뒤 그 시간 기준으로
DATE 객체에 시간을 -9해주고, DB에서 조회하면
UTC+0이 아니라 UTC-9 시간 기준으로 조회가 됨. (KST -18)
DB는 자체적으로 UTC화 시켜서 조회하는 기능이 있기 떄문으로 보임
시간 관련된건 외워봤자 까먹을게 뻔하니 외우려고 하지말고 항상 2차확인하는 습관을 갖자