Mit Zahlen die Zeit ausrechnen

  • Themenstarter Themenstarter Cruzifixxx
  • Beginndatum Beginndatum
C

Cruzifixxx

Hallo,

ich habe ein Logfile, dass die Zeit leider etwas bescheuert darstellt.

z.B. beginnt das Log mit der Zeit 350:10...
dann wird z.B. um 351:15 eine Aktion ausgeführt.

Das ist ja jetzt 1 Minute und 5 Sekunden, nur wie kann ich das mit PHP "ausrechnen" ?

MfG
Kai
 
Ja, nur wie kann ich das so subtrahieren, dass es als Zeit berechnet wird (wegen 60 sekunden)?
 
Mal als beispiel

PHP:
<?php

$time1 = "3047.56";
$time2 = "3048.01";

echo $time2-$time1;

Ergebnis = 0.45000000000027
?>

Das sind nun keine 45 Sekunden, sondern 5.

Ich weiss nicht worauf du hinaus willst.
 
PHP:
  // Vorhandene Zeiten
  $time1 = "3047:56";
  $time2 = "3048:01";
  
  // Sekunden von Minuten trennen
  $arTime1 = explode(':', $time1);
  $arTime2 = explode(':', $time2);
  
  // In sekunden umrechnen
  $sek1 = $arTime1[0]*60+$arTime1[1];
  $sek2 = $arTime2[0]*60+$arTime2[1];
  
  // Differenz ermitteln
  $diff = $sek2-$sek1;
  
  // Formatierte ausgabe
  echo floor($diff/60).' Minuten und '.(($diff/60)-(floor($diff/60))).' Sekunden';
(untested & korrigiert)
 
Zuletzt bearbeitet:
Hallo!

@Sven Petruschke, dass kommt leider nicht hin.
Nimm mal diese Werte:
PHP:
$time1 = "350:15"; 
$time2 = "352:10";
Ergebnis:
Code:
1 Minuten und 114 Sekunden
Gruss Dr Dau
 
PHP:
<?php

	// Vorhandene Zeiten
  	$time1 = "3047:56";
  	$time2 = "3049:02";

  	// Sekunden von Minuten trennen
  	$arTime1 = explode(':', $time1);
  	$arTime2 = explode(':', $time2);

  	// In sekunden umrechnen
  	$sek1 = $arTime1[0]*60+$arTime1[1];
  	$sek2 = $arTime2[0]*60+$arTime2[1];

  	// Differenz ermitteln
  	$diff = $sek2-$sek1;


	$minuten = floor($diff/60);
	$sekunden = $diff-(floor($diff/60));

	while($sekunden >= 60) {
		$sekunden-=60;
		$minuten++;
	}


  	// Formatierte ausgabe
  	echo "Minuten : $minuten, Sekunden : $sekunden";

Ergebnis = "Minuten : 2, Sekunden : 5"
?>

Jedoch passt was bei den Sekunden noch nicht ganz.


EDIT
Das passt ganz und garnicht.

mit
PHP:
 $time1 = "3047:56";
 $time2 = "3049:56";

bekommt man als Ergebnis
Code:
Minuten : 3, Sekunden : 58
 
Zuletzt bearbeitet von einem Moderator:
Zurück