마지막 날짜 구하기

맨날·2022년 11월 29일
1

마지막 날짜 구하기

자바스크립트에서 마지막 날짜를 구하는 방법은 내가 구하고자 하는 다음 달의 date 값을 0으로 설정하면 됩니다.
예를 들어 2월의 마지막 날짜를 구하고 싶다면 아래와 같이 코드를 작성하면 됩니다.

const date = new Date('2022-03');
date.setDate(0);
console.log(date); // 28

12월은?

하지만 위의 코드에는 문제가 존재하였습니다. Date 객체 생성시 문자열로 인수를 전달 할때 13을 전달 하면 Invalid Date 값이 반환됩니다.

new Date('2022-13'); // Invalid Date

자바스크립트에서 month는 0부터 시작하기 때문에 문자열을 인수로 자주 사용했었는데 이런 문제가 존재했습니다.

해결 방법은 날짜를 입력 받을 때 12월을 초과하는 경우를 조건문으로 처리 할 수 있지만 훨씐 간편한 방법이 존재했습니다.

날짜를 문자열이 아닌 숫자 타입으로 전환하면 됩니다. Date 생성자 함수 호출 시 두개 이상의 숫자 타입을 신수로 넘겨주면 차례대로 year, month, day, hour, minute, second, millisecond로 전달됩니다.

그래서 두번째 인수로 12를 전달하고 세번째 인수로 0을 전달하면 12월의 마지막 날짜를 구할 수 있습니다.

new Date(2022, 12, 0).getDate()

자바스크립트에서는 1월이 0이기때문에 13월은 12가 됩니다.

0개의 댓글