Ankündigung

Einklappen
Keine Ankündigung bisher.

Wochentage ausgeben

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast antwortete
    Hallo,

    und danke bisher. Beide Scripte funktionieren. Jedoch wird bei den benutzten Eigaben z.B.

    $date1 29.10.2005
    $date2 01.11.2005

    der Sonntag zweimal ausgegeben.

    1130536800 //Umgewandelter UNIX-Timestamp von $date1
    1130799600 //Umgewandelter UNIX-Timestamp von $date2

    @Script von Zergling und Fips
    Samstag
    Sonntag
    Sonntag
    Montag

    Abgesehen davon, das mir die Ausgaben reichen. Woran liegt das und wie kann ich das abstellen?

    MfG

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich würde das erstmal in einen Timestamp umwandeln mittels der Funktion mktime() den Starttag ermitteln und dann bis zum Ende durchlaufen.

    Also das Datum zerlegen in seine Einzelheiten Tag Monat Jahr

    PHP-Code:
    <?php
    $date1 
    explode(".","11.11.2005");
    $date2 explode(".","24.12.2005");

    $date1mktime(0,0,0,$date1[1],$date1[0],$date1[2]);
    // das ist unser Starttag Faschingsbeginn
    $date2 mktime(0,0,0,$date2[1],$date2[0],$date2[2]);
    //das ist der letzte Tag Weihnachten

    setlocale(LC_TIME"ge","de_DE");

    while(
    $date1 <= $date2){
       echo 
    strftime("%A" $date1)."
    "
    ;
       
    $date1 += 3600*24;
    }
    ?>

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Ich mach das meistens so, dass ich die beiden Daten (Datums) ins Unix-Format wandle, wenn sie das nicht eh schon sind und dann so fortfahre:

    PHP-Code:
    <?php
    $weekday 
    = array("Sonntag""Montag", ..., "Samstag");
    for (
    $i $startDate$i <= $endDate$i += 24*60*60) {
      print 
    $weekday[date('w'$i)] . '
    '
    ;
    }
    ?>
    Wobei es auch die Möglichkeit mit set_locale automatisch die Wochentag-Namen zu holen. Dazu siehe Manual.

    Einen Kommentar schreiben:

Lädt...
X