habe mal wieder etwas herum gecodet und das ist dabei rausgekommen.
Code: Alles auswählen
#
# Funktion: dateartihmeatik
# Autor: Christoph Heer
#
# Aufgabe:
# Berechnet mit der Datumsarithmetik, denn Wochentag vom Datum ausgehen.
#
# Verwendung:
# datearithmetik('12.09.2008')
#
import math
import re
def datearithmetik(date):
monthvalues = {1:0,2:3,3:3,4:6,5:1,6:4,7:6,8:2,9:5,10:0,11:3,12:5}
yearvalues = {17:4,18:2,19:0,20:6,21:4,22:2,23:0}
dayvalues = {0:'Sunday',1:'Monday',2:'Tuesday',3:'Wednesday',4:'Thursday',5:'Friday',6:'Saturday'}
filter = re.compile(r'(\d{2}).(\d{2}).(\d{2,})(\d{2,})')
date = filter.match(date)
if date != None:
date = [int(date.group(1)),int(date.group(2)),int(date.group(3)),int(date.group(4))]
else:
return 'Only date in format DD.MM.YYYY'
yearvalue = ((date[3] + (date[3] / 4)) % 7) + yearvalues[date[2]]
year = date[2] + date[3]
if year % 400 == 0:
changeyear == True
elif year % 100 == 0:
changeyear = False
elif year % 4 == 0:
changeyear = True
else:
changeyear = False
if changeyear == True:
if date[1] == 1:
yearvalue = yearvalue - 1
elif date[1] == 2:
yearvalue = yearvalue - 1
monthvalue = monthvalues[date[1]]
dayvalue = date[0]
weekdayvalue = (yearvalue + monthvalue + dayvalue) % 7
return dayvalues[weekdayvalue]
print datearithmetik('12.09.2008')
Hoffe das diese Funktion euch irgendwann helfen wird.
MfG
BasterTWO