DeaD_EyE icon

next_birthday

DeaD_EyE | PRO | 10/11/22 12:16:06 PM UTC | 0 ⭐ | 1210 👁️ | Never ⏰ | []
Python |

740 B

|

None

|

0 👍

/

0 👎

import calendar
import datetime
 
 
def next_date(date: datetime.date, today: datetime.date | None = None) -> datetime.date:
    if today is None:
        today = datetime.date.today()
 
    if date.month == 2 and date.day == 29:
        if not calendar.isleap(today.year):
            this_year = datetime.date(today.year, 3, 1)
 
        if not calendar.isleap(today.year + 1):
            next_year = datetime.date(today.year + 1, 3, 1)
    else:
        this_year = datetime.date(today.year, date.month, date.day)
        next_year = datetime.date(today.year + 1, date.month, date.day)
 
    return next_year if today >= this_year else this_year
 
 
print(next_date(datetime.date(2004, 10, 12)))
print(next_date(datetime.date(1984, 2, 29)))

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎