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 계열의 객체가 나온 것으로 아는데, 자바스크립트에서도 동일한 문제를 발견하게 될 줄은 몰랐다.
끗.