Bernd: new DateInterval

Beitrag lesen

Hallo,

jetzt verstehe ich so langsam die Welt nicht mehr. Folgende Daten habe ich

Start:

  • 08:30

Pause:

  • 0.75

Einträge mit Zeiten

  • 3
  • 0,5
  • 4
  • 1

Gesamt

  • 9.25

bis dahin stimmt es nicht. Was jetzt kommt, kann natürlich nicht stimmen:

vsl. Arbeitsende:

  • 09:15 Uhr

Ich habe wieder folgenden Code

$Gesamt = $StundenTag + $Pause;

if ($Gesamt != 0) {

  $trennen = explode('.', $Gesamt);

  if ($trennen[1] == "25") {
    $minuten = "15";
  } elseif ($trennen[1] == "50") {
    $minuten = "30";
  } elseif ($trennen[1] == "75") {
	  $minuten = "45";
  }
  else {
    $minuten = "00";
  }
}

if ( $uss_inhalt != "---") {
  $start = DateTime::createFromFormat('H:i', "00:00");
} else {
	$start = DateTime::createFromFormat('H:i', $uss_inhalt);
}

$start->add(new DateInterval('PT'.$trennen[0].'H'.$minuten.'M'));

$vslArbeitsende = $start->format('H:i');

Wenn ich mir $trennen[0] und $trennen[1] mit var_dump ausgeben lasse, erhalte ich fogendes

var_dump($trennen[0]);
//string(1) "9" 
echo "<br>";
var_dump($trennen[1]);
//string(2) "25"

Die 9.25 passen also wieder und ich übergebe auch die richtigen Daten? Was läuft in diesem Fall schief? Seht ihr den Fehler?