Datum der nächsten 14 Tage ausgeben

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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;
    }

    ?>

    Comment


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

      Comment


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

        Comment


        • #5
          Originally posted by sanktusm View Post
          <?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.

          Comment


          • #6
            Originally posted by h3ll View Post
            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!

            Comment


            • #7
              Originally posted by h3ll View Post
              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

              Comment


              • #8
                Originally posted by DonManfred View Post
                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

                Comment


                • #9
                  Richtig?



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

                  Wir werden alle sterben

                  Comment


                  • #10
                    Originally posted by DonManfred View Post
                    Nicht? Welcher Tag ist denn kürzer oder länger?
                    Der 25. Oktober hat 90000 Sekunden und der 29. März hat 82800 Sekunden.

                    Originally posted by Slava View Post
                    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?
                    Last edited by unset; 17-11-2009, 15:19. Reason: doppelpost

                    Comment


                    • #11
                      Originally posted by combie View Post
                      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

                      Comment


                      • #12
                        Originally posted by unset View Post
                        Bist du betrunken?
                        Selbst wenn, wie kommst du darauf?
                        Wir werden alle sterben

                        Comment


                        • #13
                          Originally posted by combie View Post
                          Selbst wenn, wie kommst du darauf?
                          PHP Code:
                          ++$i 
                          [FONT="Helvetica"]twitter.com/unset[/FONT]

                          Shitstorm Podcast – Wöchentliches Auskotzen

                          Comment


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

                            Comment


                            • #15
                              Originally posted by unset View Post
                              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 :-)

                              Originally posted by unset View Post
                              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??

                              Comment

                              Working...
                              X