Datum der nächsten 14 Tage ausgeben

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

  • Datum der nächsten 14 Tage ausgeben

    Hallo,
    ich versuche grade ein Script zu schreiben mit dem ich ein Dropdownmenue füttern möchte. Es sollen jeweils die Tage als Datum angegeben werden und zwar die nächsten 14 Tage im Kalender.

    Ich habe mir überlegt das ganze mit Mktime zu machen aber was passiert wenn in den nächsten 14 Tagen ein Monats oder Jahreswechsel ansteht

    Vielleicht hat ja jemand einen guten Vorschlag.

  • #2
    Ok habs gelöst

    <?php
    $datum = time();
    $limit = time() + 1209600;

    while($datum < $limit) {

    echo date("d.m.y", $datum)."<br>";
    $datum = $datum + 86400;
    }

    ?>

    Kommentar


    • #3
      Hallo,

      keine Sorge, dafür ist mktime bestens geeignet, weil es den Überlauf automatisch verrechnet. Wenn du es mit dem 32.12.2009 fütterst, macht es den 01.01.2010 draus.

      Gruß,

      Amica
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #4
        Schöner ist es mit strtotime zu arbeiten:

        PHP-Code:
        echo strtotime('+12 days'time()); 
        Warum? Weil du damit "magic numbers" verhinderst. Das sind Zahlen, von denen kein Mensch weiß, was sie bedeuten sollen, bzw. deren Bedeutung nicht aus sich selbst ersichtlich ist.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Zitat von sanktusm Beitrag anzeigen
          <?php
          $datum = time();
          $limit = time() + 1209600;

          while($datum < $limit) {

          echo date("d.m.y", $datum)."<br>";
          $datum = $datum + 86400;
          }

          ?>
          Das ist falsch. Nicht jeder Tag hat 86400 Sekunden.

          Ich würde die Methode von unset empfehlen.

          Kommentar


          • #6
            Zitat von h3ll Beitrag anzeigen
            Das ist falsch. Nicht jeder Tag hat 86400 Sekunden.
            Nicht? Welcher Tag ist denn kürzer oder länger?

            Also mir kommt der Sonntag auch immer kürzer vor als der Montag (arbeiten) aber das es wirklich so ist, war mir nicht bewusst!

            Kommentar


            • #7
              Zitat von h3ll Beitrag anzeigen
              Das ist falsch. Nicht jeder Tag hat 86400 Sekunden.
              Ja, aber das hat keine Auswirkung auf die angeforderte Datumsanzeige,
              also so wie er es gemacht hat, ist es richtig.
              Slava
              bituniverse.com

              Kommentar


              • #8
                Zitat von DonManfred Beitrag anzeigen
                Nicht? Welcher Tag ist denn kürzer oder länger?

                Also mir kommt der Sonntag auch immer kürzer vor als der Montag (arbeiten) aber das es wirklich so ist, war mir nicht bewusst!
                Zeitumstellungen kennst du aber schon, oder? Und je nach dem, wann dein Script ausgeführt wird, kann das zu unschönen Nebeneffekten führen.

                Abgesehen davon redest du doch die ganze Zeit explizit vom Datum und nicht von einer sekundengenauen Uhrzeit …*warum arbeitest du dann in dieser Dimension?
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar


                • #9
                  Richtig?



                  PHP-Code:
                  for($i=1;$i<=14;++$i)
                  {
                    echo 
                  date('d.m.Y',strtotime("+$i DAYS"))."<br>";

                  Wir werden alle sterben

                  Kommentar


                  • #10
                    Zitat von DonManfred Beitrag anzeigen
                    Nicht? Welcher Tag ist denn kürzer oder länger?
                    Der 25. Oktober hat 90000 Sekunden und der 29. März hat 82800 Sekunden.

                    Zitat von Slava Beitrag anzeigen
                    Ja, aber das hat keine Auswirkung auf die angeforderte Datumsanzeige
                    Doch, hat es.

                    PHP-Code:
                    // $datum = time();
                    $datum strtotime("2009-10-22"); // Heute ist der 22. Oktober

                    $limit time() + 1209600;

                    while(
                    $datum $limit) {
                        echo 
                    date("d.m.y"$datum)."<br>";
                        
                    $datum $datum 86400;

                    Code:
                    22.10.09
                    23.10.09
                    24.10.09
                    25.10.09
                    25.10.09
                    26.10.09
                    27.10.09
                    28.10.09
                    [...]
                    Fällt dir was auf?
                    Zuletzt geändert von unset; 17.11.2009, 16:19. Grund: doppelpost

                    Kommentar


                    • #11
                      Zitat von combie Beitrag anzeigen
                      Richtig?
                      PHP-Code:
                      for($i=1;$i<=14;++$i)
                      {
                        echo 
                      date('d.m.Y',strtotime("+$i DAYS"))."<br>";

                      Bist du betrunken?
                      [FONT="Helvetica"]twitter.com/unset[/FONT]

                      Shitstorm Podcast – Wöchentliches Auskotzen

                      Kommentar


                      • #12
                        Zitat von unset Beitrag anzeigen
                        Bist du betrunken?
                        Selbst wenn, wie kommst du darauf?
                        Wir werden alle sterben

                        Kommentar


                        • #13
                          Zitat von combie Beitrag anzeigen
                          Selbst wenn, wie kommst du darauf?
                          PHP-Code:
                          ++$i 
                          [FONT="Helvetica"]twitter.com/unset[/FONT]

                          Shitstorm Podcast – Wöchentliches Auskotzen

                          Kommentar


                          • #14
                            Ob ++$i oder $i++ ist an der Stelle doch wurscht.
                            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                            Super, danke!
                            [/COLOR]

                            Kommentar


                            • #15
                              Zitat von unset Beitrag anzeigen
                              Zeitumstellungen kennst du aber schon, oder? Und je nach dem, wann dein Script ausgeführt wird, kann das zu unschönen Nebeneffekten führen.
                              Aehmm... OUPS. Yo, da hab ich ja gar nicht dran gedacht :-)

                              Zitat von unset Beitrag anzeigen
                              Abgesehen davon redest du doch die ganze Zeit explizit vom Datum und nicht von einer sekundengenauen Uhrzeit …*warum arbeitest du dann in dieser Dimension?
                              Ich? Wie kommst Du nun auf mich? Ich habe hier in dem thread (vor diesem hier) genau EINEN Kommentar geschrieben (eben den, den Du kommentiertest). Hab ich irgendwas verpasst??

                              Kommentar

                              Lädt...
                              X