toISOString()은 Date를 yyyy-mm-ddThh:mm:ss 형식의 문자열로 반환한다.
하지만 toISOString()은 9시간 전 시간을 출력하는데 이는 함수가 사용하는 시간대가 UTC+0이기 때문이다. 한국은 UTC+9이기 때문에 시차가 발생하게 된다.
이를 해결하기 위해서 getTimezoneOffset()을 사용하여 Date의 시간을 맞추어주어야한다.
getTimezoneOffset()은 UTC와 LocalZone의 시간차를 계산해준다. 한국의 경우 UTC+9이기 때문에 -540(분 단위)이 반환된다.
new Date()의 생성자 파라미터에는 ms 단위로 넘겨주어야하므로 60000을 곱하여 ms 단위로 만들어준 뒤 현재 시간과 계산해 한국 시간을 구하면 된다.
let date = new Date();
let offset = date.getTimezoneOffset() * 60000 // ms단위
let today = new Date(date.getTime() - offset);
let todayStr = today.toISOString().split('T');
'JavaScript > JavaScript' 카테고리의 다른 글
| [Javascript] 문자열 바이트 크기 구하기 (0) | 2023.03.27 |
|---|---|
| [Javascript] fetch 응답 null 체크하기 (0) | 2023.03.25 |
| [JavaScript] 자바스크립트 객체를 쿼리스트링으로 변환하기 (0) | 2023.03.09 |
| [Javascript] FormData 객체의 사용 (0) | 2023.02.28 |
| [Javascript] 자바스크립트로 Form 초기화하기 (0) | 2023.02.27 |