Zum Inhalt springen

Datumsberechnung


Empfohlene Beiträge

Hallo Zusammen

Ich hab 4 Datums werte mit denen ich etwas berechne

$erstertagimmonat

$letztertagimmonat

$letztertagimmonat= explode("-",$letztertagimmonat);

$erstertagimmonat= explode("-",$erstertagimmonat);

$letztertagimmonat= (mktime(0,0,0,$letztertagimmonat[1],$letztertagimmonat[2],$letztertagimmonat[0])) ;

$erstertagimmonat= (mktime(0,0,0,$erstertagimmonat[1],$erstertagimmonat[2],$erstertagimmonat[0])) ;

$differenz = ($letztertagimmonat - $erstertagimmonat) /86400;

echo $differenz

DAs is mein CODE......

funktioniert auch, ich bekomm immer die tagesanzahl was dazwischen liegt

Außer beim Monat März 2004 da kommt ne komma zahl raus?????

WIESOOOOO?? VErdammm?... das gibts doch nicht bei allen andren monaten geht es

Gruß

Enno

Link zu diesem Kommentar
Auf anderen Seiten teilen

testausgaben funktionieren auch komplett.

und im februar bekommt er auch raus, das der monat 29 Tage hat.

wenn startdatum und enddatum 1ter und letzter Tag des Monats sind.

was komisch ist:

wenn ich bereits hier

$letztertagimmonat= (mktime(0,0,0,$letztertagimmonat[1],$letztertagimmonat[2],$letztertagimmonat[0])) ;

die division durch 86400 reinschreibe, also so:

$letztertagimmonat= (mktime(0,0,0,$letztertagimmonat[1],$letztertagimmonat[2],$letztertagimmonat[0]))/86400 ;

Dann kommt hier nen Kommawert raus.

Darf doch nicht. oder? Der mktime wert ist doch ohne Stunde, Minute, Sekunde. Ist also immer nen ganzer Tag. und /86400 ist ja wieder nur die Tage. Also müssen da doch immer ganzzahlige Werte rauskommen.

Und der Kommawert kommt immer. Hab ich erst hinterher gemerkt.

Nur in allen Monaten ist der bei $erstertagimmonat und $letztertagimmonat gleich. also der Kommawert.

Nur im März 2004 ist er unterschiedlich. Dadurch kommt dann im Endergebniss das Komma zustande.

Gruß

Enno

Link zu diesem Kommentar
Auf anderen Seiten teilen

wenn man den Code hier

<table cellpadding="7">

  <tr>

    <?php

    function test($erstertagimmonat_str, $letztertagimmonat_str)

     {

      $erstertagimmonat_arr = explode("-",$erstertagimmonat_str);

      $erstertagimmonat_tst = (mktime(0,0,0,$erstertagimmonat_arr[1],$erstertagimmonat_arr[2],$erstertagimmonat_arr[0])) ;

      $letztertagimmonat_arr = explode("-",$letztertagimmonat_str);

      $letztertagimmonat_tst = (mktime(0,0,0,$letztertagimmonat_arr[1],$letztertagimmonat_arr[2],$letztertagimmonat_arr[0])) ;

      $differenz_sec = ($letztertagimmonat_tst - $erstertagimmonat_tst);

      $differenz_day = $differenz_sec / 86400;

      echo("<td>");

      echo("\$erstertagimmonat_str<dd>$erstertagimmonat_str</dd><br>");

      echo("\$erstertagimmonat_tst<dd>" . date("Y-m-d", $erstertagimmonat_tst) . "</dd><br>");

      echo("\$letztertagimmonat_str<dd>$letztertagimmonat_str</dd><br>");

      echo("von \$letztertagimmonat_tst<dd>" . date("Y-m-d", $letztertagimmonat_tst) . "</dd><br>");

      echo("\$differenz_sec<dd>$differenz_sec</dd><br>");

      echo("\$differenz_day<dd>$differenz_day</dd><p>");

      echo("</td>");

     }

    test("2004-03-01", "2004-03-01");

    test("2004-03-01", "2004-03-02");

    test("2004-03-01", "2004-03-03");

    test("2004-03-01", "2004-03-04");

    test("2004-03-01", "2004-03-05");

    test("2004-03-01", "2004-03-06");

    test("2004-03-01", "2004-03-07");

    test("2004-03-01", "2004-03-08");

    test("2004-03-01", "2004-03-09");

    test("2004-03-01", "2004-03-10");

    test("2004-03-01", "2004-03-11");

    test("2004-03-01", "2004-03-12");

    test("2004-03-01", "2004-03-13");

    test("2004-03-01", "2004-03-14");

    test("2004-03-01", "2004-03-15");

    test("2004-03-01", "2004-03-16");

    test("2004-03-01", "2004-03-17");

    test("2004-03-01", "2004-03-18");

    test("2004-03-01", "2004-03-19");

    test("2004-03-01", "2004-03-20");

    test("2004-03-01", "2004-03-21");

    test("2004-03-01", "2004-03-22");

    test("2004-03-01", "2004-03-23");

    test("2004-03-01", "2004-03-24");

    test("2004-03-01", "2004-03-25");

    test("2004-03-01", "2004-03-26");

    test("2004-03-01", "2004-03-27");

    test("2004-03-01", "2004-03-28");

    test("2004-03-01", "2004-03-29");

    test("2004-03-01", "2004-03-30");

    test("2004-03-01", "2004-03-31");

    ?>

  </tr>

</table>

laufen lässt, sieht man, das die Berechnugn solange stimmt, wie das Endedatum vor dem 29.03. liegt. sobald es 29., 30. oder 31. März ist kommt Bull**** raus.

Gruß

Enno

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...