[JavaScript] Date 객체의 생성자 초기화 시 주의 사항 - Month

정지현·2022년 10월 22일
0

IT 산업기능요원으로 복무하면서 토이 프로젝트로 회사에 대한 위키 기능을 포함한 전역일 계산기를 간단히 만들고 있다.

기존에는 Date 클래스의 생성자에 String 형태로 yyyy-MM-dd HH:mm:ss 와 같이 초기화를 해주었는데, 사파리 브라우저에서는 오류가 발생함을 확인했다.

검색해보니, Date 클래스의 초기화하기 위해서는 사파리 브라우저에서는 new Date(2022, 12, 28, 18, 0, 0) 와 같이 작성해야한다고 했다.

전역일이 12월 28일이니 상기와 같이 작성하였는데, 갑자기 전역일 기준일이 기존과 훨씬 늘어나버린 것이다. 무려 한..달이나...

확인을 해보니 Date 클래스의 초기화 시, month 부분은 0부터 시작한다고 한다.

즉, 0->1월, 1->2월 과 같은 식이다.

따라서 12월을 표현하기 위해서는,
new Date(2022, 11, 28, 18, 0, 0) 과 같이 month 에 -1을 해주어서 표현해주어야 한다.

자바를 다룰 때에는 이런 이슈를 포함한 다양한 문제 때문에 LocalDate 계열의 객체가 나온 것으로 아는데, 자바스크립트에서도 동일한 문제를 발견하게 될 줄은 몰랐다.

끗.

profile
나를 성장시키는 좌절에 감사하고 즐기려고 노력 중

0개의 댓글