[JS] Date.toISOString의 잃어버린 9시간

쿼카쿼카·2023년 6월 7일
1

JS / TS

목록 보기
3/14

toISOString()

  • 날짜의 포맷을 맞춰주는 함수
  • 반환값은 언제나 24글자 또는 27글자(각각 YYYY-MM-DDTHH:mm:ss.sssZ 또는 ±YYYYYY-MM-DDTHH:mm:ss.sssZ)이다.
  • 시간대는 언제나 UTC이며 접미어 Z로 표현한다.

잃어버린 9시간

  • 하지만 어이없게도 new Date()를 만들고 toISOString()을 하면 9시간이 사라져 있따.
  • 이유는 영국이 표준시인데 자랑스러운 4천년 이상의 역사를 가진 K-POP하면 K-POP, 퀸연아, 손흥민, BTS 보유국 킹갓황국은 영국과 9시간 차이가 난다.
  • 그래서 영국시에 맞춰 9시간이 사라진 것이다.

offset 맞추기

  • 깨알 영어. offset편차란 의미
// getTimezoneOffset()은 현재 시간과의 차이를 분 단위로 반환한다.
const offset = new Date().getTimezoneOffset() * 60000;

const today = new Date(Date.now() - offset);
  • 위 식을 넣어주면 깔끔하게 히결된다.
  • Date.getTimezoneOffset()

    • 현지와 기준 시간의 차이를 가져온다.
  • 위 식에서 today.toISOString()을 하면 이런 결과가 나온다.

참고 사이트

profile
쿼카에요

0개의 댓글