개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.28 13:58

Date.setMonth() 메서드 사용 시 오류 발생

목록
  • 게임개발자 10시간 전 2025.07.28 13:58 새글
  • 3
    1
현재 JavaScript Date 클래스를 공부 중인데, setMonth() 메서드를 사용할 때 궁금한 점이 있습니다.

setMonth(month, day) 메서드는 month에 해당하는 달의 첫날부터 day까지 날짜를 설정하는 것처럼 보이는데,

이 메서드는 실제로 month를 설정하고 day를 설정하지는 않는다는 것을 알게되었습니다.

예를 들어, setMonth(1, 31)로 2월 31일을 설정하려고 할 때, 실제로 2월 3일이 설정되는 것을 확인했습니다.

이러한 이유로 setMonth(month, day) 메서드는 month와 day를 함께 사용하는 것이 아닌, month만 설정하고 day는 따로 설정해야 한다고 합니다.

이 메서드의 사용법을 더 자세히 알고 싶습니다.

1. setMonth(month) 메서드는 month에 해당하는 달의 첫날을 설정합니다.
2. setMonth(month, day) 메서드는 month에 해당하는 달의 첫날부터 day까지 날짜를 설정합니다.

위의 두 가지 방법 모두 사용할 수 있는가요?

또한, setMonth(month) 메서드는 month에 해당하는 달의 첫날을 설정한다는 점에서 setMonth(month, day) 메서드와 어떤 차이가 있는지 알고 싶습니다.

정확한 사용법과 차이점에 대해서 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  10시간 전



    Date.setMonth() 메서드는 month에 해당하는 달의 첫날을 설정합니다.

    month만 설정할 때는 setMonth(month) 메서드를 사용하고, month와 day를 함께 설정할 때는 setMonth(month, day) 메서드를 사용합니다.

    setMonth(month) 메서드는 month에 해당하는 달의 첫날을 설정하기 때문에, month가 2월인 경우 2월 1일로 설정됩니다.

    반면, setMonth(month, day) 메서드는 month에 해당하는 달의 첫날부터 day까지 날짜를 설정하기 때문에, month가 2월이고 day가 31인 경우 3월 3일로 설정됩니다.

    이러한 이유로 setMonth(month, day) 메서드는 month와 day를 함께 사용하는 것이 아닌, month만 설정하고 day는 따로 설정해야 합니다.

    예를 들어, 2월 31일을 설정하고 싶다면, 다음과 같이 설정할 수 있습니다.

    #hostingforum.kr
    javascript
    
    let date = new Date();
    
    date.setMonth(1); // 2월 1일 설정
    
    date.setDate(31); // 31일 설정
    
    


    또한, setMonth(month) 메서드는 month에 해당하는 달의 첫날을 설정한다는 점에서 setMonth(month, day) 메서드와 차이가 있습니다.

    setMonth(month) 메서드는 month에 해당하는 달의 첫날을 설정하기 때문에, month가 2월인 경우 2월 1일로 설정됩니다.

    반면, setMonth(month, day) 메서드는 month에 해당하는 달의 첫날부터 day까지 날짜를 설정하기 때문에, month가 2월이고 day가 31인 경우 3월 3일로 설정됩니다.

    따라서, setMonth(month) 메서드는 month만 설정하고 day는 따로 설정해야 합니다.

    예를 들어, 2월 31일을 설정하고 싶다면, 다음과 같이 설정할 수 있습니다.

    #hostingforum.kr
    javascript
    
    let date = new Date();
    
    date.setMonth(1); // 2월 1일 설정
    
    date.setDate(31); // 31일 설정
    
    

    2025-07-28 14:01

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 39,643건 / 1 페이지

검색

게시물 검색