[PHP] Differenz zwischen 2 Daten(datum) ausgeben

Dieses Thema im Forum "Webentwicklung" wurde erstellt von klaxx, 11. November 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 11. November 2008
    Differenz zwischen 2 Daten(datum) ausgeben

    Huhu,

    folgendes Problem:

    Bin dabei eine Datei zu entwickeln die mir die Differenz zwischen dem Datum vom jeweiligen Tag und dem Datum von einem Kauf überprüft.

    Mit der Differenz will ich dann weiterarbeiten.
    Soll ein Mahnkennzeichen werden:

    < 14 Tagen wird keine Mahnung versandt.
    >=14 Tage aber <30 Tage wird die Mahnung Stufe 1 versand
    >=30 Tage aber <45 Tage wird die Mahnung Stufe 1 versand
    >=45 Tage aber <60 Tage wird die Mahnung Stufe 1 versand
    >60 Tage wird die Rechtsabteilung benachrichtig.

    ------------------------------------------------------------------------------------
    Formular zum übergeben von Name der Person und das KaufDatum:

    Code:
    <html>
    <head>
     <title>Mahnungstest</title>
    <body>
    
    <h2>Vergleich</h2>
    <h1>Mahnung</h1>
    <form action="vergleich.php" method="post">
     
     
     <p> Name:
     <input type="Text" name="KDNAME"
     </p>
    
     <p> Straße:
     <input type="Text" name="KDADRESS"
     </p>
     <p> Registrierdatum:
     <input type="date" name="RGDAT"
     
     <p> Rechnungsdatum:
     <input type="date" name="RGDAT"
     </p>
     
     <p>
     <input type="Submit" name"" value="OK">
     <input type="reset">
     </p>
    </form>
    </body>
    </html>
    
    Die PHP Datei die dann damit weiterarbeiten soll:

    Code:
    
    <html>
    <head>
     <title>vergleich</title>
    
    </head>
    <body>
    <!-- Page Content START -->
    <h2>Kunde hinzufügen</h2>
    <?php
    
    $db = mysql_connect("localhost","root","")
     or die ("Keine Verbindung möglich");
    mysql_select_db("Kunden")
     or die ("mysql_error());
    
    $kundenname = $_POST['KDNAME'];
    $kundeadresse = $_POST['KDADRESS'];
    $regdate = $_POST['REGDAT'];
    $rechnungsdate = $_POST['RGDAT'];
    
    $anfrage= 
    $rechnung = if($anfrage>=14 days as $rechnungsdate
     or die ("mysql_error());
    
    
    
    
    mysql_close($db);
    }
    ?>
    
    
    <!-- Page Content END -->
    </body>
    </html>
    
    Also müsste:
    $differenz= ???
    $rechnung = $differenz

    Welchen Befehl benötige ich hier?
    ich verzweifle an strptime :/
     
  2. 11. November 2008
    AW: Differenz zwischen 2 Daten(datum) ausgeben

    Google hat bestätigt, was ich vermutet habe. Datum muss umgewandelt werden in UNIX-Timestamp, dann die Differenz berechnet und dann wird das Ergebnis von Sekunden in Tage umgerechnet.

    PHP:
    <? php
    $old
    = strtotime ( "2008-11-01" );  # in Timestamp umwandeln
    $new = strtotime ( "2008-11-11" );
    $diff = $new - $old # Differenz der Timestamps
    $diff = $diff / 86400 # Differenz von Sekunden in Tage
    echo  $diff ;
    ?>
     
  3. 11. November 2008
    AW: Differenz zwischen 2 Daten(datum) ausgeben

    Was mir nicht plausible wird: Wenn ich strtotime (); nimmt er dann das Datum von Heute?

    Ich möchte das der jedesmal das "heutige" Datum zum rechnen verwendet. Sprich morgen den 12.11.

    gruß
     
  4. 11. November 2008
    AW: Differenz zwischen 2 Daten(datum) ausgeben

    strtotime() ist eine Funktion, die das Datum verarbeitet, was du übergibst.

    Das heutige Datum übergibst du so:
    PHP:
    <? php
    $new
    = strtotime ( date ( "Y-m-d" ));  # heutige Datum als Timestamp
    ?>
    Mit ein bisschen nachlesen und nachdenken hättest du da auch selbst draufkommen können.
     
  5. 11. November 2008
    AW: Differenz zwischen 2 Daten(datum) ausgeben

    Dank Dir. Ich les leider schon seit heute morgen 8 Uhr nix anderes und freu mich jetzt schon auf den Feierabend.

    thx+close
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.