PHP Zeitdifferenz zwischen zwei Daten ( eins vor 1970 )

  • Hi...

    Ich suche wie man die Differenz in min zwischen 2 Daten herraus findet.

    Basis ist 1899-12-30 00:00:00 bezogen auf den 2010-02-04 machen das 57906720 Minuten

    Das ist der Weg vom Timestamp zum Datum.

    PHP
    function stamp_2Date($aStamp,$aDatestyle)
    	{
    	$date = date_create('1899-12-30 00:00:00');
    	date_add($date, date_interval_create_from_date_string($aStamp.' minutes'));
    	return date_format($date, $aDatestyle);
    	}

    Ich brauche aber auch die andere Richtung...
    Das hier klappt nicht...

    PHP
    function Date2_stamp($aStamp,$aDatestyle)
    	{
       $ELOdate = date_create('1899-12-30 00:00:00');
    	$aDateNow = date_create('2010-02-04 00:00:00');
    	$interval = date_diff($ELOdate,$aDateNow);
    	return $interval->format('%i%a');
    	}

    Wäre nett wenn mir jemand nen Tipp gibt..

    Danke

    MFG chris :D

  • Also zumindest auf einem 64bit Linux system klappt das:

    PHP
    <?php
    $d = DateTime::createFromFormat("Y-m-d H:i:s","1899-12-30 00:00:00",new DateTimeZone("GMT"));
    $d2 = DateTime::createFromFormat("Y-m-d H:i:s","2010-02-04 00:00:00",new DateTimeZone("GMT"));
    $f = $d->diff($d2);
    echo $f->days * 24 * 60 + $f->h * 60 + $f->i + $f->s / 60;
    ?>
  • Mein Code ergibt 57906720, Hier die System infos:

    Spoiler anzeigen
  • Danke @progandy

    das war der richtige Ansatz...
    Ich hatte nur erhebliche Probleme wegen einem MSAccess Bug in einer früheren Verion...
    Daher habe ich kein update des Xampp gemacht und so auch ein älteres PHP...

    PS: Schade das der Xampp 1.8.0 so Buggy ist... bei mir und anscheinend vielen anderen ist er extrem langsam,
    was anscheinend vom MySQL kommt....

    Danke nochmal ...

    MFG Chris :D