첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ 특정일이 속하는 월(Month)의 마지막 날짜 구하기

------------------------------------------------------------------------------------------------------------------------

import datetime

 

def IsLeapYear(year):

    if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):

        return True

    else:

        return False

 

MonthDayCountList = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

 

def GetMonthLastDate(sourceDate):

    dayCount = MonthDayCountList[sourceDate.month - 1]

    if sourceDate.month == 2:

        if IsLeapYear(sourceDate.year):

            dayCount += 1

    targetDate = datetime.datetime(sourceDate.year, sourceDate.month, dayCount)

    return targetDate

 

if __name__ == "__main__":

    print(GetMonthLastDate(datetime.datetime(2016, 2 , 16))) # 2016-02-29 00:00:00

    print(GetMonthLastDate(datetime.datetime(2019, 11, 16))) # 2019-11-30 00:00:00

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker

댓글을 달아 주세요