Zeitraum von einem Datum bis jetzt berechnen

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

  • Zeitraum von einem Datum bis jetzt berechnen

    Hallo !

    Wie oben zu lesen ist, suche ich nach einer Möglichkeit von einem festen Datum bis heute den Zeitraum berechnen zu lassen. Und zwar in Form von Jahren und Tagen. Mein Problem an der Geschichte ist die Umrechnung der Tage auf x Jahre und x Tage (die logischerweise von Tag zu Tag zunimmt :-) ) Muß ich Variablen definieren, in denen die Tage pro Jahr stehen (wegen den Schaltjahren) oder geht es auch einfacher ??

    Meine Scripte haben die Ausgabe leider nicht auf den Tag genau berechnen können.

    Bin für jeden Tip/Link dankbar.

    Shakkar

  • #2
    ich würd zunächst mal das aktuelle datum als time() auslesen und das festgeschriebene datum auch im Unix-Zeitformat nehmen,daraus dann die Differenz denn das kann man dann umwandeln in Tage,Jahre,etc.

    Kommentar


    • #3
      @ [pG]Flo

      nur dann berücksichtige ich die Schltjahre nicht... oder mache ich einen Denkfehler ?

      Shakkar

      Kommentar


      • #4
        glaub schon, denn wenn das festgesetzte datum eingegeben ist , dürfte der server glaube ich an das schaltjahr denken wenn du das datum im Unix-Zeit Format bzw. timestamp angibst

        Kommentar


        • #5
          @ [pG]Flo

          ich habe im Self-PHP gelesen, daß ich mit strtotime("10 July 1997") das Datum in UNIX Format ausgeben kann. Wenn ich mit time() die jetzige Zeit ausgebe, dann die die Werte subtrahieren. Wie bekomme ich jetzt den Ausgabewert in Jahren und Tagen formatiert ?

          Hast Du einen guten Link für die time() Formatierung ?

          Shakkar

          Kommentar


          • #6
            Die Funktion date gibt Datum und Uhrzeit - aktuell oder als Unix-Timestamp angegeben - in einem beliebigen Format zurück.
            z.B.
            date ('d.m.Y'); --> Datum im deutschenFormat
            date ('Y-m-d H:i:s'); --> Datum und Uhrzeit im ISO-Format
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              Soweit, so gut, wie bekomme ich nun die Ausgabe hin ?
              Die letzte Zeile beschäftigt mich noch. Hat jemend einen Tip ?


              $startdatum=date ("U", mktime(0,0,0,07,10,1997));
              $jetzt=time();
              $differenz = ($jetzt - $startdatum);

              echo date ($differenz);



              Shakkar

              Kommentar


              • #8
                also, wenn ich es recht verstehe willst du nun die differenz so ausgeben

                XX Jahre, XX Monate , XX Tage ,XX Stunden , XX Minuten ,XX Sekunden
                das kannst du mathematisch löse glaub ich, indem du einfach teilst

                Kommentar


                • #9
                  Nein. Leider nicht. Wenn ich Pro Jahr 365 Tage rechne, berücksichtige ich die Schaltjahre nicht. Deshalb die Frage nach den Variablen in meinem ersten Posting. Das nächste Problem sind die Monate mit 28/29/30/31 Tagen.
                  Ich habe mit dem Script aus meinem letzten Posting ja schon einen Wert in UNIX Form erhalten. Dieser muß doch nur noch formatiert werden,oder? Ich bekomme dann 31 03 75 als Ergebnis. Dieser Wert ist aber falsch. Die 75 ist falsch ! Wahrscheinlich, weil ein Datum vom 1.1.1980 zugrunde gelegt wird, oder ?!?

                  Shakkar

                  Kommentar


                  • #10
                    Schaltjahre sind doch einfach zu Berechnen:

                    Alle Jahre die durch 4 teilbar sind
                    jedoch nicht die Jahre die durch 100 teilbar sind
                    es sei denn das Jahr ist durch 400 teilbar ....


                    carpe noctem

                    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                    Kommentar


                    • #11
                      oder einfach ein jahr mit 365,2422 Tagen rechnen
                      Zuletzt geändert von Campus; 10.09.2002, 23:35.
                      meine Projekte bestaunen: http://www.kleiza.de

                      Kommentar


                      • #12
                        Oder so!
                        carpe noctem

                        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                        Kommentar


                        • #13
                          Damit ist das Problem leider noch nicht gelöst. Das habe ich bereits alles versucht. Ich bekomme keine korrekte Anzeige der Tage hin !

                          Kommentar


                          • #14
                            poste mal eins von deinen versuchen, und sag was daran nicht stimmt, und wie du es haben willst.
                            meine Projekte bestaunen: http://www.kleiza.de

                            Kommentar


                            • #15
                              hatte ich weiter oben schon:

                              PHP-Code:
                              $startdatum=date ("U"mktime(0,0,0,07,10,1997));
                              $jetzt=time();
                              $differenz = ($jetzt $startdatum);

                              echo 
                              date ($differenz); 
                              die anderen Versuche habe ich leider nicht hier in der Firma.

                              Kommentar

                              Lädt...
                              X