2014-10-31 3 views
-1

날짜 카운터를 만들고 싶지만 datetime을 사용하고 싶지 않습니다. 한 달에 번호가 입력되면파이썬 3의 날짜 카운터

monthDays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 

이 방법은, 만약 내가 같은 번호의 목록을 검색하고 그 달에 일의 해당 금액을 찾을 수 있습니다 나는 달의 일의 목록을 만들었습니다 예 monthDays[7] 나를 찾을 것입니다 31.

내 날짜의 입력 형식은 다음과 같습니다. dd/mm/yyyy이므로 date[0:2]을 사용하여 날짜를 추출하는 등의 작업을 수행합니다. 먼저 입력 한 날짜가 미래인지 확인합니다. 괜찮습니다.

그렇다면 내가 말하는 달이 오늘의 달과 같고 그 해가 오늘의 연도와 같으면 그 차이는 단지 이틀 간의 차이 일뿐입니다.

난 후, 오늘날의 달 입력 달과 오늘날의 올해보다 작거나 같으면 내가있어

여기에서 붙어 조금 ... 입력 해 동일 심각 해요 경과 일수는 다음과 같은 합계입니다.

  • 당월 남은 날. 오늘의 달 입력 달 날라

사이

  • 일 :

    • 이틀간 값의 차이.

    아무도 여기에서 도움을받을 수 있습니까? 나는 오늘과 미래 사이의 경과 일수를 계산할 수 있기를 원합니다.

  • +2

    "나는 날짜 카운터를 만들고 싶어,하지만 난 날짜를 사용하지 않습니다." 나는 이것이 그 restrictin 또는 단지 나쁜 아이디어와 숙제의 일종인지 궁금해. 날짜 카운터를 작성하려면 datetime 모듈을 사용하고 있습니다. 그것의 목적입니다. 바퀴를 재발 명하지 마십시오. 날짜는 까다 롭습니다. 단지 이것을 다시 구현할 수 없습니다. –

    +0

    윤년은 어떨까요? –

    +1

    도약 연도는 어떨까요? –

    답변

    1

    날짜가 현재 연도 이후 인 경우 올해 남은 일 수를 계산 한 다음 새 날짜의 새 연도와 전체 기간을 계산해야합니다.

    monthDays [2]는 연도에 따라 28 또는 29 일 수 있습니다. 윤년은 연도로 식별됩니다.

    • 연도는 4로 균등하게 나눌 수 있습니다.
    • 연도를 100으로 균등하게 나눌 수 있다면, 윤년이 아닙니다.
    • 연도도 400으로 균등하게 나눕니다. 그러면 윤년입니다.

    (출처 : http://www.timeanddate.com/date/leapyear.html)