huhu,
das problem sollte eigentlich schon lösbar sein. doch es verlangt schon etwas überlegungsarbeiten, da es ein paar fallstricke beinhaltet.
problem nr.1:
der 1. januar ist noch woche 52, da er eben mitten in der woche ist. die woche 1 fängt mir dem ersten wochentag im neuen jahr an.
das jahr beginnt mit woche 1. somit sind in der woche 8 nur 7 wochen vergangen und die anzahl tage der aktuellen woche und die anzahl tage im neuen jahr vor der woche 1.
lösungsansatz:
- wochentag am 1.1. ermitteln
- wochen in tage umwandeln
- anzahl vergangener tage im neuen jahr berechnen unter berücksichtigung des wochentags am 1.1. und dem dem aktuellen wochentag
in code könnte das etwa wie folgt umgesetzt werden:
Code: Alles auswählen
$year = 2006;
$week = 8;
$day = 4;
// Wochentag am 1. Januar ermitteln
$wochentag = myfunction_get_weekday(1,1,$year);
$anzahl_tage = $wochentag+($week-1)*7+$day;
die myfunction_get_weekday() sollte mit der entsprechenden php-funktion ersetzt werden, welche den wochentag für ein bestimmtes datum liefert. die formel, die die anzahl tage berechnet sollte überprüft werden ob sie stimmt und wenn nicht entsprechend korrigiert werden.
was jetzt noch fehlt, eine korrektur, falls das datum in der woche 52 oder 53 aber schon im neuen jahr ist und eine funktion die aus den tagen in der variable $anzahl_tagen den monat ermittelt. notfalls könnte diese auch selber geschrieben werden, allerdings liegt das problem hier bei der ermittlung der schaltjahre, welche wiederum korrekturarbeit erfordert.