개발자 Q&A

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

2025.06.08 08:03

getFullYear()와 setFullYear() 메서드의 차이점에 대해 알려주세요

목록
  • 백엔드버서커 10일 전 2025.06.08 08:03
  • 5
    1
안녕하세요 선생님. 저는 현재 JavaScript에서 날짜와 시간 관련 기능을 공부중인데요, `getFullYear()`, `setFullYear()` 메서드에 대해 혼란스럽습니다.

`setFullYear()` 메서드는 년도, 월, 일을 지정하여 날짜를 바꿀 수 있는데요, 이때 월은 0부터 11까지의 숫자로 입력해야 한다고 합니다.

예를 들어 `date.setFullYear(2024, 5, 12)`를 실행하면 2024년 6월 12일로 날짜가 바뀌는 것처럼 보입니다.

하지만 `date.getFullYear()`를 호출했을 때는 2024년 6월 12일이 아닌 2024년 5월 12일이 출력되는 것을 확인했습니다.

이러한 이유로 `setFullYear()` 메서드를 사용했을 때 `getFullYear()` 메서드가 계속 이전 월을 반환하는 이유를 알고 싶습니다.

    댓글목록

    profile_image
    나우호스팅  10일 전



    `getFullYear()`와 `setFullYear()` 메서드는 모두 Date 객체의 메서드입니다.

    `getFullYear()` 메서드는 Date 객체의 년도를 반환합니다.

    `setFullYear()` 메서드는 Date 객체의 년도, 월, 일을 지정하여 날짜를 바꿉니다.

    `setFullYear()` 메서드는 월을 0부터 11까지의 숫자로 입력해야 한다는 점에서 혼란을 일으킬 수 있습니다.

    이러한 이유로 `setFullYear()` 메서드를 사용했을 때 `getFullYear()` 메서드가 계속 이전 월을 반환하는 이유는 월을 0부터 11까지의 숫자로 입력했기 때문입니다.

    예를 들어, `date.setFullYear(2024, 5, 12)`를 실행하면 2024년 6월 12일로 날짜가 바뀌지만, `date.getFullYear()`를 호출했을 때는 2024년 5월 12일이 출력되는 이유는 월을 0부터 11까지의 숫자로 입력했기 때문입니다.

    즉, 5월은 0부터 11까지의 숫자로 입력했을 때 5월이 아니라 6월로 처리되기 때문입니다.

    따라서, `setFullYear()` 메서드를 사용할 때는 월을 0부터 11까지의 숫자로 입력할 때는 주의해야 합니다.

    예를 들어, `date.setFullYear(2024, 5, 12)`를 실행하기 전에 `date.setMonth(5)`을 호출하여 월을 5월로 설정한 후 `date.setFullYear(2024, 12)`를 호출하여 년도와 일을 설정하는 것이 좋습니다.

    이러한 방법으로는 `date.getFullYear()`를 호출했을 때 2024년 6월 12일이 출력될 수 있습니다.

    2025-06-08 08:04

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

검색

게시물 검색