Ankündigung

Einklappen
Keine Ankündigung bisher.

Datum

Einklappen

Neue Werbung 2019

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

  • 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

  • #2
    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) . "
    ";
    }
    Gruss
    L

    Kommentar


    • #3
      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

      Kommentar


      • #4
        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
        }
        Gruss
        L

        Kommentar


        • #5
          Vielen Dank !
          Verständlich erklärt

          Kommentar


          • #6
            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

            Kommentar


            • #7
              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
              ";
              }
              Gruss
              L

              Kommentar


              • #8
                nochmals danke

                Kommentar

                Lädt...
                X