Formular füllen - Rechnen mit Zeitwerten
Hallo,
ich komme einfach nicht weiter an einer Stelle. Also ich habe zwei Zeitwerte.
Track-Anfang 2010-05-01 11:04:30 = $tanfang
Track-Ende 2010-05-03 11:05:36 = $tende
So nun möchte ich die Differenz ausgeben, also Fahrzeit ist gleich Track-Ende ($tende) minus Track-Anfang ($tanfang). Das ganze soll dann ausgegeben werden Fahrzeit beträgt 2 Tage 01 Minuten und 06 Sekunden.
So im Code lese ich die Zeitwerte aus und formatiere sie das sie Datenbank konform sind, und nun müsste man eigentlich rechnen können damit, aber hier scheitere ich etwas, habe schon was mit Timestamp probiert aber bin irgendwie nicht zurecht gekommen mit Umwandlung, Berechnung und Ausgabe.
Hat jemand einen Lösungsansatz für mich.
Gruß AS-123
Hallo,
ich komme einfach nicht weiter an einer Stelle. Also ich habe zwei Zeitwerte.
Track-Anfang 2010-05-01 11:04:30 = $tanfang
Track-Ende 2010-05-03 11:05:36 = $tende
So nun möchte ich die Differenz ausgeben, also Fahrzeit ist gleich Track-Ende ($tende) minus Track-Anfang ($tanfang). Das ganze soll dann ausgegeben werden Fahrzeit beträgt 2 Tage 01 Minuten und 06 Sekunden.
So im Code lese ich die Zeitwerte aus und formatiere sie das sie Datenbank konform sind, und nun müsste man eigentlich rechnen können damit, aber hier scheitere ich etwas, habe schon was mit Timestamp probiert aber bin irgendwie nicht zurecht gekommen mit Umwandlung, Berechnung und Ausgabe.
Hat jemand einen Lösungsansatz für mich.
Gruß AS-123
PHP:
<?php
function gettime($quelle) {//Funktion zum Auslesen von time aus der gpx-Datei
$quelle = substr($quelle, strpos($quelle, "<time>")+ strlen("<time>"));
return substr($quelle, 0, strpos($quelle, "</time>"));
}//end function
function zertime($quelle) {//Funktion zum Umwandeln der Zeit
$quelle = str_replace(array("T","Z"),array(" ",""), $quelle);
return $quelle;
}//end function
$track = 'test.gpx';
if (file_exists($track)) {//prüfen, ob angegebene Datei vorhanden ist
echo 'Datei '.$track.' ist da';
$fp = fopen( $track, "r"); // gpx-Datei öffnen
$t=0;
$m=0;
while (! feof( $fp )) {
$zeile = fgets($fp, 4096);
if (strpos($zeile,"<time>") !== false) {
$time[$t] = gettime($zeile);
$t++; //das ist die Zahl wieviel mal <time> vorkommt
}//end if
} //end while
fclose($fp); //gpx-Datei schließen
$tspeicher = zertime($time[$t-$t]); //Speicherzeit der gpx ermitteln
$tanfang = zertime($time[($t-$t)+1]); //Startzeit des Tracks
$tende = zertime($time[$t-1]); //Endzeit des Tracks
}//Ende Prüfung => sonst
else {echo 'Datei ist nicht da.';}//Ende sonst
?>