Tage ermitteln

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by AmicaNoctis View Post
    Ein Tag hat aber dennoch 24 Stunden
    Nein.

    Der 27. März hat 23 Stunden und der 30. Oktober hat 25 Stunden.

    Comment


    • #17
      Originally posted by h3ll View Post
      Nein.

      Der 27. März hat 23 Stunden und der 30. Oktober hat 25 Stunden.
      Ich weiß, was du meinst, inzwischen hast du den Beitrag ja auch geändert und Schaltjahr durch Sommer-/Winterzeit ersetzt. Vorher hat das einfach keinen Sinn ergeben.

      Der UNIX-Tag hat aber auch bei der Zeitumstellung 24 Stunden, nur rutschen wir in eine andere Zeitzone und deswegen scheint er dann 23 bzw. 25 Stunden zu haben. Rechnerisch ändert sich aber nur das UTC Offset. Du hast ja Recht im Bezug auf die Ausgabe eines menschlich relevanten lokalisierten Datums und ich bin ja auch inzwischen überzeugt von der Sinnhaftigkeit der "+7 days"-Geschichte.

      [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


      • #18
        Wir haben im Prinzip beide Recht. Ein physikalischer Tag hat 24 Stunden. Ein Kalendertag kann aber auch 23 oder 25 Stunden haben. Es ist halt immer die Frage, welche Art von Tag man meint. Aber in dem Fall handelt es sich offenbar um Kalendertage.

        Comment


        • #19
          Ich danke Euch für die Wervollen Tipps.

          Also mache ich es so:

          PHP Code:
          $datum_von "2010-08-23";
          $datum_bis "2011-07-22";

          echo 
          $datum_stemp_von." - ".$datum_stemp_bis."<br>";

          $tagdate('Y-m-d'strtotime("$datum_von".' next monday'));  

          echo 
          $tag."<br>";
          $date = new DateTime($tag);
          $date->modify('+1 week');
          echo 
          $date->format('Y-m-d'); 
          Nun habe ich den Strattag bzw. Datum und die darauffolgende Woche. Wie kann ich nun alle Tage bis zum $datum_bis darstellen?

          Geht das mit einer Schlaufe oder gibt es da eine spezielle Funktion?

          Comment


          • #20
            Ehmm... was wird das? Du hast unser beider Lösungsvorschläge vermischt. Entscheide dich für einen Weg.

            Schlaufe != Schleife

            In dem Fall bietet sich eine for-Schleife an.

            Comment


            • #21
              Mit einer Schleife.
              Kriege bitte wenigstens das selber hin.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Comment


              • #22
                Ja, absichtlich somit kann ich alle Montage oder Dienstage usw. ab $datum_von anzeigen. Da meine Variable Montag, Dienstag usw ist ist die Methode wobei ich diese Variable verwenden kann optimal.

                Nun muss ich es nur noch bis $datum_bis laufen lassen können.

                Oder wie kann ich ab Deinem Beispiel den Wochentag ermitteln

                Comment


                • #23
                  Du kannst auch gerne mal ein Blick ins PHP-Handbuch werfen. Das sollte man als Programmierer schon mal gelesen haben.
                  Last edited by h3ll; 19-04-2011, 17:03.

                  Comment


                  • #24
                    Den Vergleich zweier Timestamps als Bedingung für eine Schleife wirst du doch wohl hinkriegen?
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Comment


                    • #25
                      h3ll:

                      Aber es funktioniert so ja auch - was spricht denn dagegen?

                      wahsaga:

                      Leider habe ich auch bei der Schleife so meine Mühe, sorry bin halt nicht der hardcore Progger.
                      Last edited by sepp; 20-04-2011, 12:50.

                      Comment


                      • #26
                        PHP Code:
                        for($reihe=$datum_von;$reihe<=$datum_bis;$reihe++) 
                        Das stimmt so nicht da ich eine Woche addieren muss und nicht ++

                        Also versuchte ich das so
                        PHP Code:
                        for($reihe=$datum_von;$reihe<=$datum_bis;$reihe->modify('+1 week');) 
                        Und wenn ich das Datum in Timestamp umwandle geht es auch ins unentliche
                        PHP Code:
                        for($reihe=$datum_stemp_von;$reihe<=$datum_stemp_bis;$reihe+604800
                        Das gibt einen klaren php Fehler aus, bitte lacht nicht über meine Versuche - aber mit dem Halbwissen was ich habe bleibt mir nur das testen und aspröbeln.

                        Comment


                        • #27
                          Ungeachtet dessen, dass die Schleifentypen natürlich untereinander austauschbar sind, bietet sich eine while-Schleife hier m.E. eher an.

                          Solange Datum* noch kleiner als Zieldatum*, addiere Zeitspanne x drauf.


                          * Datum hier in seiner Repräsentation durch einen Timestamp.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Comment


                          • #28
                            Originally posted by wahsaga View Post
                            Ungeachtet dessen, dass die Schleifentypen natürlich untereinander austauschbar sind, bietet sich eine while-Schleife hier m.E. eher an.

                            Solange Datum* noch kleiner als Zieldatum*, addiere Zeitspanne x drauf.
                            Demnach sind alle For-Schleifen besser als While-Schleifen auszuprogrammieren?

                            Also statt
                            PHP Code:
                            for ($i 0$i <= $i_max$i++) {
                                
                            /* ... */

                            besser
                            PHP Code:
                            $i 0;
                            while (
                            $i <= $i_max) {
                                
                            /* ... */
                                
                            $i++;

                            ?

                            Weil For-Schleifen funktionieren ja meistens nach dem Prinzip (addiere solange, bis irgendwas erreicht ist).

                            Comment


                            • #29
                              Originally posted by h3ll View Post
                              Demnach sind alle For-Schleifen besser als While-Schleifen auszuprogrammieren?
                              Nein, das habe ich überhaupt nicht behauptet.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Comment


                              • #30
                                Aber du hast doch behauptet, dass sich für eine "von-bis" Schleife while anbietet, oder?

                                Comment

                                Working...
                                X