Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save richlysakowski/5f268e80084cf8b4535b0d846064553a to your computer and use it in GitHub Desktop.
Save richlysakowski/5f268e80084cf8b4535b0d846064553a to your computer and use it in GitHub Desktop.
[calculate days_in_month() and is_leap_year() functions] #date-utility
# Number of days per month. First value placeholder for indexing purposes.
month_days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
def is_leap(year):
"""Return True for leap years, False for non-leap years."""
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
def days_in_month(year, month):
"""Return number of days in that month in that year."""
# year 2017
# month 2
if not 1 <= month <= 12:
return 'Invalid Month'
if month == 2 and is_leap(year):
return 29
return month_days[month]
print(days_in_month(2017, 2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment