TIL 230208 - 193번

hoin_lee·2023년 2월 7일
0

TIL

목록 보기
157/236

큰 프로젝트 진행전 작은 프로젝트인 일기 다이어리에서 날짜 설정을 하다 알게된 사실

new Date 속성을 이용해 날짜를 계산하다 보면 하루 전 날짜가 찍힌다
이는 함수의 Time Zone이 우리나라가 아니라 UTC 타임존 (zero offset)을 사용하기 때문

그래서 해결방법을 찾아보니 2가지가 있었는데

  1. 대한민국의 offset을 수동으로 추가해준 뒤 ISOString 함수를 실행시키는 것
let offset = date.getTimezoneOffset() * 60000; //ms단위라 60000곱해줌
let dateOffset = new Date(date.getTime() - offset);
  
console.log(dateOffset.toISOString());

나는 이부분을 함수로 만들어 date를 매개변수로 받고 dateOffset.toISOString()을 리턴하도록 했다.

  1. js의 Date function들을 개선한 moment.js 라이브러리를 사용하는 것이다.
  • npm install moment --save
  • yarn add moment
let momentDate = moment(date).format();
console.log(momentDate);

하지만 추가적인 라이브러리로 하기보단 상단의 1번 방법을 사용했다.
나중에 한번 앱이 가볍다면 라이브러리도 사용해 보고 싶다.

https://izizi.tistory.com/33 -스크롤 만들기

profile
https://mo-i-programmers.tistory.com/

0개의 댓글