Ankündigung

Einklappen
Keine Ankündigung bisher.

Datum

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema Datum.

    Datum

    Hi

    Ich hab nen CronJob der ein Script jeden Montag und Donnerstag ausführt.
    Nun will ich auf ner Seite ausgeben:
    Nächster Spieltag Donnerstag, 24.6.2004
    Und nach Donnerstag natürlich:
    Nächster Spieltag Montag, 28.6.2004.

    Also dass mit Montag bzw. Donnerstag ist net schwer, aber wie bekomm ich hin dass er automatisch das Datum für alle Montage und Donnerstage berechnet und ausgibt? (vor allem wenns Monatsüberschneidend wird !)

    Danke

  • Gast-Avatar
    Ein Gast antwortete
    nochmals danke

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    So als Idee:
    Code:
    function next_date($datum)
    {
        if(date('w', $datum) == 1) $n = 3;
        else $n = 4;  
        $next = $datum + ($n * 86400);
        return($next);               
    }
    
    $jetzt = time();
    $next = mktime(13,0,0,6,7,2004);   // 13 Uhr d.h Spielende
    while ($jetzt > $next)
    {
        $next = next_date($next);
    }
    $next_start = $next - 7200;        // 11 Uhr Spielbeginn
    if ($jetzt < $next_start)
    {
        echo "N&auml;chstes Spiel: " . date('l, j.m.Y H:i', $next_start) . "
    ";
    }
    else
    {
        echo "Spiel l&auml;ft
    ";
    }

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Hi

    jetzt hab ich nochmal ne kleine Frage.
    Ich will bis Donnerstag 11 Uhr ausgeben nächster Spieltag Do....
    Zwischen 11 und 13 Uhr Spiele laufen...
    und nach 13 Uhr nächster Spieltag Montag.

    Wie kann ich das umsetzen ?

    Danke

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Vielen Dank !
    Verständlich erklärt

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Also hier ein paar Erklärungen dazu:
    Code:
    $next = mktime(0,0,0,6,24,2004);                    // Timestamp des Datums 24.6.2004 erstellen
    for ($i = 0;$i < 15;$i ++)                          // Schleife für 15 Termine
    {
              if(date('w', $next) == 1) $n = 3;         // Wenn Datum = Montag (0 = Sonntag) nächstes in 3 Tagen
              else $n = 4;                              // sonst in 4 tagen
              $next += $n * 86400;                      // $n Tage zum Timestamp addieren (86400 Sekunden = 1 Tag)
              echo date('l, j.m.Y', $next) . "
    ";  // Datum formatiert ausgeben
    }

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    danke für die schnelle atwort. es funktioniert auch, nur leider würd ich den code auch gern verstehen... so ganz blick ich da net durch

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Bsp. nächste 15 Termine:
    Code:
    $next = mktime(0,0,0,6,24,2004);
    for ($i = 0;$i < 15;$i ++)
    {
              if(date('w', $next) == 1) $n = 3;
              else $n = 4;
           	$next += $n * 86400;   //  86400 = 24 * 60 * 60
           	echo date('l, j.m.Y', $next) . "
    ";
    }

    Einen Kommentar schreiben:

Lädt...
X