Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1.  
  2. def isLeapYear(year):
  3. if year % 4 == 0:
  4. if year % 100 == 0 and year % 400 != 0:
  5. return False
  6. else:
  7. return True
  8. else:
  9. return False
  10.  
  11. def daysInMonth(month, year):
  12. while month in [1, 3, 5, 7, 8, 10, 12]:
  13. return 31
  14. while month in (4, 6, 9, 11):
  15. return 30
  16. if month == 2:
  17. if isLeapYear(year):
  18. return 29
  19. else:
  20. return 28
  21.  
  22.  
  23. def daysBetweenDates(year1, month1, day1, year2, month2, day2):
  24. days = 0
  25. while year1 < year2:
  26. if day1 != 1:
  27. days = days + daysInMonth(month1,year1)-day1+1
  28. day1 = 1
  29. month1 = month1+1
  30. while month1 < 13:
  31. days = days + daysInMonth(month1,year1)
  32. month1 = month1+1
  33. if month1 == 13:
  34. month1 = 1
  35. year1 = year1+1
  36. if year1 == year2:
  37. if day1 != 1:
  38. days = days + daysInMonth(month1,year1)-day1+1
  39. day1 = 1
  40. month1 = month1+1
  41. while month1 < month2:
  42. days = days+daysInMonth(month1, year1)
  43. month1 = month1+1
  44. if month1 == month2:
  45. days = days + day2-day1
  46. return days
  47.  
  48.  
  49.  
  50. print daysBetweenDates(2012,1,1,2012,2,28)
  51. # 58
  52. print daysBetweenDates(2012,1,1,2012,3,1)
  53. # 60
  54. print daysBetweenDates(2011,6,30,2012,6,30)
  55. # 366
  56. print daysBetweenDates(2011,1,1,2012,8,8)
  57. # 585
  58. print daysBetweenDates(1900,1,1,1999,12,31)
  59. # 36523
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement