[Javascript] Date toISOString() 1일 전 (timezone trouble)

방예서·2022년 5월 11일
0

JavaScript

목록 보기
6/6

new Date() 만 사용하면 날짜가 제대로 나오는데, 해당 값을 내가 원하는 형태로 가져오고 싶어서 .toISOString() 메소드를 사용했다.

문제는 오늘(5/12 00:56)인데 어제 날짜(5/11)로 나오는 것이다.

찾아보니 이유는 toISOString 는 UTC시간을 기준으로 반환하기 때문에 한국과 9시간이 차이난다는 것이었다.

딱 9시간 차이 난다.

해결방법은

  1. 한국의 offset을 수동으로 추가한 뒤 그 값을 빼주기
  2. moment.js 라이브러리 사용하기

라이브러리는 추가적으로 사용하고 싶지 않으니까 offset을 수동으로 추가하는 방법을 사용한다.

// 단위가 ms 이기 때문에 60000을 곱해준다.
let offset = date.getTimezoneOffset() * 60000; 
let dateOffset = new Date(date.getTime() - offset);

https://from2020.tistory.com/12
https://anywaydevlog.tistory.com/46

profile
console.log('bang log');

0개의 댓글