Advertisement
gnamp

What day was this date? 2.2 DMcG Python 3

Aug 14th, 2020
1,496
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. #python 3 DMcG- edit for input
  2.  
  3. def weekDay(year, month, day):
  4.     offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
  5.     week   = ['Sunday',
  6.               'Monday',
  7.               'Tuesday',
  8.               'Wednesday',
  9.               'Thursday',  
  10.               'Friday',
  11.               'Saturday']
  12.     afterFeb = 1
  13.     if month > 2: afterFeb = 0
  14.     aux = year - 1700 - afterFeb
  15.     # dayOfWeek for 1700/1/1 = 5, Friday
  16.     dayOfWeek  = 5
  17.     # partial sum of days betweem current date and 1700/1/1
  18.     dayOfWeek += (aux + afterFeb) * 365                  
  19.     # leap year correction    
  20.     dayOfWeek += aux // 4 - aux // 100 + (aux + 100) // 400    
  21.     # sum monthly and day offsets
  22.     dayOfWeek += offset[month - 1] + (day - 1)              
  23.     dayOfWeek %= 7
  24.     return dayOfWeek, week[dayOfWeek]
  25.  
  26. print (weekDay(1978, 10, 3) == (2, 'Tuesday'))
  27. print (weekDay(2013, 6, 15) == (6, 'Saturday'))
  28. print (weekDay(1969, 7, 20) == (0, 'Sunday'))
  29. print (weekDay(1945, 4, 30) == (1, 'Monday'))
  30. print (weekDay(1900, 1, 1)  == (1, 'Monday'))
  31. print (weekDay(1789, 7, 14) == (2, 'Tuesday'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement