Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #returns the next day when given a date
- def next_day(year,month,day):
- day = day + 1
- if day > in_month(year,month):
- day = 1
- month = month + 1
- if month > 12:
- month = 1
- year = year + 1
- return (year,month,day)
- #returns the maximum day of a month
- def in_month(year,month):
- if month in (4,6,9,11):
- month = 30
- elif month == 2 and is_leap_year(year) == True:
- month = 29
- elif month == 2:
- month = 28
- else:
- month = 31
- return month
- #checks if a year is a leap year
- def is_leap_year(year):
- if year % 4 == 0:
- if year % 100 == 0 and not year % 400 == 0:
- return False
- return True
- return False
- #checks whether the first date occurs before the second
- def date_before(year1,month1,day1,year2,month2,day2):
- if year1 < year2:
- return True
- if year1 == year2:
- if month1 < month2:
- return True
- if month1 == month2:
- if day1 < day2:
- return True
- return False
- #calculates the number of days between two dates
- def day_calculator(year1,month1,day1,year2,month2,day2):
- assert date_before(year1,month1,day1,year2,month2,day2) == True
- days = 0
- while date_before(year1,month1,day1,year2,month2,day2) == True:
- year1,month1,day1 = next_day(year1,month1,day1)
- days += 1
- return days
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement