Ankündigung

Einklappen
Keine Ankündigung bisher.

Berechnung der diverenz zweier Daten

Einklappen

Neue Werbung 2019

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

  • Berechnung der diverenz zweier Daten

    Hallo liebe Gemeinde,

    ich habe ein weiteres Problem und zwar möchte ich mir die Differenz zweier Daten ausgeben lassen.

    Dazu habe ich viel gelesen und habe mich für folgenden Variante entschieden:

    $datetime1 = date_create('2013-02-01');
    $datetime2 = date_create('2013-02-21');
    $interval = date_diff($datetime1, $datetime2);
    echo $interval->format('%R%a days');

    Die Ausrechnung der eingebetteten Daten funktioniert, doch jetzt möchte ich das in der Datenbank hinterlegte Datum dort einfügen. Das erste Problem ist, das ich ein Datum mit folgender Bezeichnung ausgegeben bekomme: 25.05.14 (DD.MM.YY)

    Das zweite Datum, um eine Differenz herzustellen soll durch eine Eingabe entwickelt werden, diese hat wie von datetime gefordert (YYYY-MM-DD).

    Mein Problem ist jetzt, dass die Ausgabe aus der Datenbank eine andere Datum-Form hat als die die eingegeben werden soll.

    Hat jemand eine Idee wie es funktionieren kann??

    Kann ich eventuell ein Datum in eine Andere Datum-form bringen???

    Ich bin für jede Idee dankbar.

    Gruß Lars

  • #2
    Datetime::format?
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Bzw. DateTime::createFromFormat wenn du's umgekehrt brauchst.

      Kommentar


      • #4
        Es ist ungewöhnlich, das aus der Datenbank unformatiert so etwas 25.05.14 (DD.MM.YY) kommt. Welche Datenbank nutzt du?
        Wenn es MySQL ist, nimm für ein Datum auch den Type DATE oder DATETIME in der Datenbank. Sollte dein Datum so wie oben als String (Text) in der Datenbank liegen, dann ändere dies schnellstmöglich.

        Kommentar


        • #5
          Ich habe eine Oracle SQL Datenbank und dort ist das Datum mit Date deklariert und erschein als DD.MM.YY.
          Werde jetzt die Ideen von tkausl mal ausprobieren.

          Kommentar


          • #6
            Lass dir dein Datum gleich von der DB im passenden Format ausgeben:
            DATE Format

            Kommentar


            • #7
              Leider verstehe ich das ganze nicht wie ich das Datum ändern muss, also wie der Befehl aufgebaut wird.

              Kann mir vielleicht jemand helfen.

              Skript sieht wie folgt aus:
              PHP-Code:
              // vorher wird das folgende Datum aus der Datenbank gelesen : 09.09.14 die Variable Heißt $altIN
                  
              date_default_timezone_set('Europe/Berlin');                      
              $datetime1 date_create('2014-09-09'); //in $datetime1 soll die Variable $altIN geändert eingefügt werden
              $datetime2 date_create(null);
              $interval date_diff($datetime1$datetime2);
              //echo $interval->format('%R%a days'); 

              echo "<br>";
              $Tage $interval->format('%R%a days'); 
              Wäre sehr dankbar um eure Hilfe.

              Kommentar


              • #8
                Es ist schon alles gesagt worden. Ich starte einen letzten Versuch dir das zu verklickern:
                Das einzig Sinnvolle ist die Datenbankausgabe aus euerer Oracle SQL Datenbank auf ein Standard-Format mit 4-stelliger Jahreszahl umzustellen. Das liegt voll auf der Datenbankseite und hat nichts mit PHP zu tun.

                Ein Datum im deuschen Kurzformat dd.mm.yy wie der 09.09.14 kann mit date_create_from_format erfasst werden, aber nur wenn die echte Jahreszahl zwischen 1970-2069 liegt!
                Ein Datum '08.09.69' wird als 2069-09-08 interpretiert.
                Diese Variante sollte nur in Betracht kommen, wenn das Datum in der Datenbank als String gespeichert ist.
                Ansonsten Ausgabe der DB in Ornung bringen!

                Kommentar

                Lädt...
                X