Ich hab versucht mir ein Skript zu machen, was mir anzeigt, wie lange es noch dauert bis zu einem bestimmten Termin. Es sieht momentan folgendermaßen aus:
$zeitbisendmo=$zeitstunde*$sechzigmin;
$zeitbisendmo=$zeitbisendmo+$zeitminute;
$zeitbisendmo=$zeitendmo-$zeitbisendmo;
$zeitbisendmo=$zeitbisendmo/$sechzigmin;
print („Es sind noch“ . $zeitbisendmo . „bis zum Termin.“[/PHP]
Der wert der dann in $zeitbisendmo steht ist beispielsweise 3,25 (Stunden) jedoch müsste die ,25 noch in minuten umgerechnet werden (0,25*60) wie kann man das machen mit php, dass nur die stellen nach dem Komma benutzt werden?
du ziehst den Wert ab, der von dem komma steht, zum beispiel:
[php]
$zeit = 3.25;
$stunden = floor($zeit);
$minuten = round(60*($zeit-$stunden));
[/php]
Gruß
Du rechnest einfach die Zahl, die hinter dem Komma rauskommt mal 6, dann sind das dort Minuten.
Beispiel:
3,1 Stunden (10% von 60 Minuten, da eine Stunde 60 Minuten hat = 6 Minuten)
1*6 = 6 Minuten
…etc
MFG
Alti
EDIT:
Um Nur auf die Minuten zu kommen, machst du ein
[php]$explode = explode(‚.‘, $stundenmitkommaminuten);[/php]
kA wie die Var bei dir heißt, und dann musst du folgendes machen:
[php]
$minuten = $explode[1]*6;
[/php]
Dann musst du $minuten nur noch ausgeben.
Hier die komplette Umrechnung die auch alle Problemfälle beheben sollte
// 1. Definieren der Zeit
$meine_zeit = 13.25;
// 2. hier trenne ich die zeit in zwei teile auf
$ausschnitt = explode(„.“,$meine_zeit);
// 3. ich mache aus den Minuten eine 0. anzeige in diesem Beispiel 0.25
$zahl_hinter_komma = „0.“.$ausschnitt[1];
// 4. das ganze wird umgerechnet in wirkliche Minuten
$minuten = $zahl_hinter_komma*0.6;
// 5. die Zahl wird gerundet
$minuten_gerundet = round($minuten,2);
// 6. das 0. welches im punkt 3 hinzugefügt wird entfernen wir wieder
$minuten_gerundet_end = explode(„.“, $minuten_gerundet);
// 7. Falls der wert 0.5 ist dies würde 0.3 geben, das die Anzeige nun am Schluss nicht 13:3 anzeigt fügen wir eine 0 hinten an
if (strlen($minuten_gerundet_end[1]) == 1) {
$minuten_gerundet_end[1] = $minuten_gerundet_end[1].„0“;
}
// 8. Die Stunden werden wieder mit den Minuten verbunden für eine schöne Anzeige
print $ausschnitt[0].„:“.$minuten_gerundet_end[1];