rechnen mit zeit

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

  • rechnen mit zeit

    hallo hab ein prob mit der zeitrechnung . habe die einträge in die db aufgeteilt in zeit und datum, da ich die uhrzeit ja nur noch zum anzeigen benötige.
    insert so:

    PHP-Code:
      $start_datum date("d.m.Y"); 
      
    $start_zeit time("H:i:s");

    include(
    "../../connect/connect.php");
    $query "UPDATE tabelle1 SET start_datum='$start_datum',start_zeit='$start_zeit'"
    jetzt was, was ich überhaupt nicht kapiere. der eintrag in der db bei datum sieht folgendermaßen aus: spalte start_datum = 2011-03-20. aber angezeigt wird 11.03.2005 mit: <? echo $row->start_datum = date("d.m.Y"); ?>

    wie kommt das??? und wie rechne ich nun zu $start_datum die variable $dauer hinzu. die variable dauer kann aus 3, 5 oder 7 (tage) bestehen???

    bitte, eine etwas ausführlichere erklärung wäre bestimmt auch für mein verständnis hilfreich. lies hier (und das meistens auch noch in englisch) ist nicht immer hilfreich für mein kleines hirn

    trotzdem schönen dank schonmal bis hierher.

  • #2
    Schau mal: http://de.php.net/date

    da steht:

    string date ( string Format [, int Timestamp] )

    Gibt einen formatierten String anhand eines vorzugebenden Musters zurück. Dabei wird entweder der angegebene Timestamp oder die gegenwärtige lokale Zeit berücksichtigt, wenn kein Timestamp angegegeben wird. Mit anderen Worten ausgedrückt: der Parameter Timestamp ist optional und falls dieser nicht angegeben wird, wird der Wert der Funktion time() angenommen.
    Mehr brauchste nich zu wissen, wieso da das Datum ausgegeben wird
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      denkfehler

      wenn strtotime der wert in sekunden ist müsste es doch gehen? bei der ausgabe erschein jedoch immer das $start_datum. warum? wo liegt der fehler? $auk_zeit ist die zeit in tagen (3,5,7).

      also strtotime+(auk_zeit*sek. po tag) = endam

      PHP-Code:
      <? $endam=($start_datum = date("d.m.Y",strtotime(($start_datum)+($auk_zeit*86400)))); echo $endam = date("d.m.Y"); ?>
      zweifel schon an mir selbst! heul

      Kommentar


      • #4
        bei sowas
        PHP-Code:
        echo $row->start_datum date("d.m.Y"); 
        // oder
        echo $endam date("d.m.Y"); 
        soll du dich nicht wundern. , was eine Zuweisung bedeutet

        Kommentar


        • #5
          genau das steht doch aber in zeile
          PHP-Code:
          echo $endam date("d.m.Y"); 
          so blind kann selbst ich nicht sein!

          Kommentar


          • #6
            Frage: was meinst du was:

            - date('d.m.Y') macht?
            - $endam = date('d.m.Y') macht?

            Kommentar


            • #7
              cih weiß ja das ich irgendwo nen denkfahler haben muss, sonst würde es ja gehen. weiß nur nicht wo!

              PHP-Code:
              <? $endam=($start_datum = date("d.m.Y",strtotime(($start_datum)+($auk_zeit*86400)))); echo $endam = date("d.m.Y"); ?>
              ich denke das $endam mir das $startdatum + $auk_zeit(tage) zurückliefert
              formatiert in dieser form d.m.Y. tut es aber nicht! also denk ich weiter das was falsch sein muss. so. aber mal ehrlich auch in den php hilfeseiten konnte ich nix passendes finden.

              Kommentar


              • #8
                beantworte meine Fragen, dann findest du die Lösung.

                Kommentar


                • #9
                  tut mir leid, dann versteh ich deine frage nicht, find die lösung nicht!!!!

                  Kommentar


                  • #10
                    Na, date hat auch noch ein 2. Argument, ohne das wird halt time() dafür genommen. Wenn du
                    PHP-Code:
                    $endam date(...); 
                    machst, bedeutet, dass du $endam das Ergebnis von date(...) zuweist.
                    bei echo $endam = ... wird zunächst $endam einen Wert zugewiesen, dann ausgegeben. Klingelt's?

                    Kommentar


                    • #11
                      aber das mein ich doch die ganze zeit! nur am ergebnis tut sich nix.

                      steht doch da:
                      PHP-Code:
                      <? $endam=($start_datum)=($start_datum = date("d.m.Y",strtotime(($start_datum)+($auk_zeit*86400)))); echo $endam=date("d.m.Y"); ?>
                      ...)))); echo $endam=date("d.m.Y"); ?>

                      die 2te bedingung d.m.Y

                      oh mann ist das ne schwere geburt. mir wird schon ganz anders wenn ich daran denk was da noch alles auf mich zukommt.

                      Kommentar


                      • #12
                        kannsz du wirklich nicht weiter helfen?

                        Kommentar


                        • #13
                          echo $endam=date("d.m.Y");


                          gibt immer das heutige datum aus. Lies dir meinen Post durch. Lies dir ASP's Post durch. Es steht alles da! Sogar bei mir in FETT
                          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                          var_dump(), print_r(), debug_backtrace und echo.
                          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                          Kommentar


                          • #14
                            das hab ich schon probiert

                            bringt immer 01.01.1970

                            PHP-Code:
                            <? $endam=($start_datum = date("d.m.Y",strtotime(($start_datum)+($auk_zeit*86400)))); echo $endam=date("d.m.Y",timestamp); ?>
                            total verzweifelt

                            Kommentar


                            • #15
                              Anmerkung: Der gültige Bereich eines Timestamp liegt typischerweise zwischen Fri, 13 Dec 1901 20:45:54 GMT und Tue, 19 Jan 2038 03:14:07 GMT. (Das entspricht den minimalen und maximalen Werten für einen vorzeichenbehafteten 32-Bit Integer). Unter Windows-Betriebssytemen ist dieser Bereich auf 01-01-1970 bis 19-01-2038 beschränkt.
                              Hast du das auch beachtet....?
                              Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                              var_dump(), print_r(), debug_backtrace und echo.
                              Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                              Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                              Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                              Kommentar

                              Lädt...
                              X