[Python] 두 날짜 사이에 며칠이 있는지 알려면 어떻게 해야하나요? (시간함수 쓰지않고)

조회수 792회

datetime함수를 사용하지않고 날짜 사이에 며칠이 있는지 알려면 어떻게 해야할까요?

예를들어 1950년 10월 20일부터 2020년 12월 17일 까지의 날짜 수를 계산하려면 어떻게 해야할까요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 1950년 1월 1일부터 1950년 10월 20일까지의 날짜수를 계산해서 a에 저장하시고, 1950년 1월 1일부터 2020년 12월 17일까지의 날짜수를 계산해서 b에 저장하신 후에 b-a해 주시면 됩니다.

    time 라이브러리들도 이런식으로 구현이 되고요. 보통 1970년 1월 1일을 기준으로 계산을 합니다.

    a 또는 b를 계산하실 때 주의하실 것은, 윤년인 경우 1년이 366일인 것과 윤년인 경우 2월이 29일 입니다. 이것만 주의하면서 반복문을 돌리면서 연차이는 윤년인지 확인하면서 365 또는 366을 더하고, 월차이는 윤년인지 확인하면서 윤년인 경우 2월이 29일인점을 유의하면서 달마다의 날자수를 더하고, 일차이는 그냥 더하면 됩니다.

    보통 날짜를 사용하는 라이브러리의 자료형들은 날짜를 넣으면 1970년 1월 1일을 기준으로 날짜수를 저장합니다. 예를 들어 1970년 1월 1일은 0을 저장하고, 1970년 1월 2일은 1을 저장합니다. 결국 두 날짜의 차이라는 것은 1-0해서 1이 됩니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)