tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
3524
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Nob Nob ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    75
    Hallo miteinander

    Ich möchte den Monat anhand einer Kalenderwoche und eines Jahres ermitteln.
    Dazu habe ich folgendes Skript verwendet: (Kennen sicher einige von euch)

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    function firstkw($jahr) {
        $erster = mktime(0,0,0,1,1,$jahr);
        $wtag = date('w',$erster);
        
        if ($wtag <= 4) {
        // Donnerstag oder kleiner: auf den Montag zurückrechnen.
            $montag = mktime(0,0,0,1,1-($wtag-1),$jahr);
            //echo $wtag." => ".$montag." ¬";
        } else {
            // auf den Montag nach vorne rechnen.
        $montag = mktime(0,0,0,1,1+(7-$wtag+1),$jahr);
        }
        return $montag;
    }
     
    function mondaykw($kw,$jahr) {
        $firstmonday = firstkw($jahr);
        $mon_monat = date('m',$firstmonday);
        $mon_jahr = date('Y',$firstmonday);
        $mon_tage = date('d',$firstmonday);
        
        $tage = ($kw-1)*7;
        
        $mondaykw = mktime(0,0,0,$mon_monat,$mon_tage+$tage,$mon_jahr);
        return $mondaykw;
    }

    Zu meinem Problem:
    Wenn ich die Kalenderwoche 1 und das Jahr 2005 in die Funktion gebe, bekomme ich auch das richtige Resultat. Bei KW 1 und Jahr 2004 allerdings nicht..

    date('m',mondaykw(1,2004)) => 12
    date('m',mondaykw(1,2005)) => 01

    Woran liegt das? Was mach ich falsch?

    Danke im Vorraus!
    Gruss Michi
     

  2. #2
    BobDerMeister BobDerMeister ist offline Mitglied Gold
    Registriert seit
    Aug 2003
    Beiträge
    113
    ich verstehe dein Problem nicht? Der Montag der 1.KW 2004 ist der 29.12.2003
     

  3. #3
    Avatar von SilentWarrior
    SilentWarrior SilentWarrior ist offline Mitglied Diamant
    Registriert seit
    Dec 2001
    Beiträge
    3.078
    Wenn du willst, dass die erste Kalenderwoche als die erste Woche interpretiert wird, in der der Montag der erste des neuen Jahres ist, dann musst du die letzte Zeile der Funktion mondaykw wie folgt ergänzen:
    PHP-Code:
    return $mondaykw 604800
    Geändert von SilentWarrior (21.03.05 um 23:49 Uhr)
     

  4. #4
    Nob Nob ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    75
    Danke für die Hilfe
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 13.06.08, 22:37
  2. mySQL auslesen anhand Datum (Monat)
    Von nafets im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 11.11.06, 09:00
  3. MySQL: Ausgabe von einer Tabelle anhand eines Spielplans
    Von Sebbel85 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 29.08.06, 19:06
  4. Den letzten Tag eines Monats / Jahres ermitteln
    Von Thomas Darimont im Forum Java
    Antworten: 0
    Letzter Beitrag: 12.03.06, 14:56
  5. Bestimmte Zeile einer Tabelle anhand eines Datensatzes ausblenden
    Von FlowersBeheaded im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 12.01.05, 16:25