PHP: Altes Datum - Neues Datum= Tage, nur wie?

  • PHP

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Link.

    PHP: Altes Datum - Neues Datum= Tage, nur wie?

    Jo, ich wollte das aktuelle datum von einem vorherigem abziehen und die differenz dann über echo(); ausgeben. Leider bin ich zu dumm die richtigen funktionen zu finden.
    Allgemein bin ich ein Anfänger in php.

    Sollte so in der art aussehen:

    PHP-Quellcode

    1. $Datum = "14.12.2016";
    2. $Heute = kawashierhinkommt("16.12.2016");
    3. $Diff = $Datum - $Heute;
    4. echo $Diff;

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Fose“ ()

    Siehe:
    php.net/manual/de/class.datetime.php
    php.net/manual/de/class.dateinterval.php

    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. date_default_timezone_set('Europe/Berlin');
    3. $a = DateTime::createFromFormat('d.m.Y', '14.12.2016');
    4. $b = DateTime::createFromFormat('d.m.Y', '16.12.2016');
    5. $diff = $a->diff($b);
    6. echo $diff->days;
    Servus,

    du kannst es machen indem du beisp. alle Datumsangaben in einen Timestamp umrechnest.

    PHP-Quellcode

    1. <?php
    2. # Datum Heute
    3. $heute = time();
    4. # Datum von vor 2 Tagen und 4 Stunden
    5. $vorgestern = time()-(60*60*24*2)-(60*60*4);
    6. # Ausgabe erstmal
    7. echo "Heute: " . date("d.m.Y H:i:s", $heute) . "<br>";
    8. echo "Vorgestern: " . date("d.m.Y H:i:s", $vorgestern) . "<br>";
    9. echo "Differenz:<br>";
    10. # Differenz ausrechnen - die abs Funktion sorgt dafür dass die Zahl positiv ist (absolut)
    11. $diff = abs($heute - $vorgestern);
    12. echo round(($diff), 2) . " Sekunden<br>";
    13. echo round(($diff/60), 2) . " Minuten<br>";
    14. echo round(($diff/60/60), 2) . " Stunden<br>";
    15. echo round(($diff/60/60/24), 2) . " Tage<br>";
    16. ?>



    Oder aber mit der PHP DateTime-Klasse - was natürlich besser und auch objektorientiert ist. Die Links dorthin wurden ja schon gepostet.

    Link
    Hello World