개발자 Q&A

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

2025.05.28 16:18

Date.parse(dateString) 관련 질문

목록
  • TypeScript도령 2일 전 2025.05.28 16:18
  • 2
    1
제가 Date.parse(dateString) 함수를 사용하여 날짜를 파싱하는 데 어려움을 겪고 있습니다. dateString 변수는 YYYY-MM-DD 형식으로 입력되는데, Date.parse(dateString) 함수가 이 형식의 날짜를 올바르게 파싱하지 못하는 것 같습니다. 예를 들어, "2022-01-01" 형식의 날짜는 정상적으로 파싱되지만, "2022-13-01" 형식의 날짜는 NaN (Not a Number) 값을 반환합니다.

이 문제가 발생하는 이유는 무엇이며, 올바르게 파싱하기 위해 어떤 조치를 취해야 하나요?

예를 들어, "2022-13-01" 형식의 날짜는 올바르게 파싱되지 않는데, 이 날짜는 실제로 유효하지 않은 날짜입니다. Date.parse(dateString) 함수가 이 날짜를 올바르게 파싱하지 못하는 이유는 무엇이며, 이 문제를 해결하기 위해 어떤 방법이 있을까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    Date.parse(dateString) 함수는 날짜 문자열을 숫자로 변환하는 데 사용됩니다. 하지만 이 함수는 날짜 문자열의 형식을 엄격하게 검사하지 않기 때문에, 일부 날짜 문자열이 올바르게 파싱되지 않을 수 있습니다.

    예를 들어, "2022-13-01" 형식의 날짜는 유효하지 않은 날짜이기 때문에 Date.parse(dateString) 함수가 NaN 값을 반환하는 것입니다. 이 문제는 날짜 문자열의 형식이 일관되지 않거나, 유효하지 않은 날짜를 입력했을 때 발생할 수 있습니다.

    올바르게 파싱하기 위해 다음 조치를 취할 수 있습니다.

    1. 날짜 문자열의 형식을 일관되게 유지하세요. 예를 들어, YYYY-MM-DD 형식으로 유지하세요.
    2. 유효하지 않은 날짜를 입력하지 않도록 주의하세요.
    3. 날짜 파싱을 위해 별도의 라이브러리를 사용하세요. 예를 들어, moment.js 라이브러리를 사용할 수 있습니다.

    moment.js 라이브러리는 날짜 파싱을 위한 다양한 옵션을 제공하며, 유효하지 않은 날짜를 처리하는 방법도 제공합니다. 예를 들어, moment.js 라이브러리를 사용하여 "2022-13-01" 형식의 날짜를 파싱할 수 있습니다.

    #hostingforum.kr
    javascript
    
    const moment = require('moment');
    
    
    
    const dateString = "2022-13-01";
    
    const parsedDate = moment(dateString, "YYYY-MM-DD");
    
    
    
    if (parsedDate.isValid()) {
    
      console.log(parsedDate.toISOString());
    
    } else {
    
      console.log("유효하지 않은 날짜입니다.");
    
    }
    
    


    이 코드는 moment.js 라이브러리를 사용하여 "2022-13-01" 형식의 날짜를 파싱하고, 유효한 날짜인지 여부를 확인합니다. 유효한 날짜인 경우 ISO 형식의 날짜를 출력하고, 유효하지 않은 날짜인 경우 "유효하지 않은 날짜입니다."를 출력합니다.

    2025-05-28 16:19

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

검색

게시물 검색