Uhrzeit runden
Daniel
- php
0 Benne0 ziegenmelker
Hi,
wie kann ich die Uhrzeit runden? das nur Volle, viertel, halbe und
dreiviertel ausgegeben wird? also ich nur ausgaben bekomme die z.B. so
aussehen:
12:00
12:15
12:30
12:45
ich komm nicht drauf. geht das überhaupt per runden? oder muss ich
sowas wie
if($minuten >0 && $minuten=<15)
{
$minuten = 15
}
elseif($minuten >15 && $minuten=<30)
{
$minuten = 30
}
elseif($minuten >30 && $minuten=<45)
{
$minuten = 45
}
elseif($minuten >45 && $minuten=<59 || $minuten==0)
{
$minuten = 0
}
bzw. ein switch?
MfG
Hallo Daniel
wie kann ich die Uhrzeit runden? das nur Volle, viertel, halbe und
dreiviertel ausgegeben wird?
...
geht das überhaupt per runden?
ja klar:
floor($min/60*4)/4*60;
ich würde auf jeden Fall floor() verwenden, da die Uhr nicht schon bei 12:23 auf 12:30 springen soll
Gruß,
Benne
Hallo,
Hi,
wie kann ich die Uhrzeit runden? das nur Volle, viertel, halbe und
dreiviertel ausgegeben wird? also ich nur ausgaben bekomme die z.B. so
aussehen:12:00
12:15
12:30
12:45
bilde das Intervall {0,59} auf das Intervall {0,3} ab und multipliziere das Ergebnis mit 15.
Stichwort: floor()
cu,
Michael
bilde das Intervall {0,59} auf das Intervall {0,3} ab und multipliziere das Ergebnis mit 15.
so wollte ich das eigentlich auch ausdrücken :)
Hi,
bilde das Intervall {0,59} auf das Intervall {0,3} ab und multipliziere das Ergebnis mit 15.
so wollte ich das eigentlich auch ausdrücken :)
danke für den tipp, aber nicht ganz was ich gesucht habe. hab aber übers php-handbuch dann eine lösung gefunden:
$stunde = array("12");
$minute = array("59", "12", "26", "32", "00");
foreach($stunde as $value)
{
foreach($minute as $wert)
{
echo "$value:$wert<br>";
}
}
echo "<hr>";
foreach($minute as $wert)
{
$neuminute[] = ceil($wert/15);
}
foreach($stunde as $value)
{
foreach($neuminute as $wert)
{
$minute = $wert*15;
if($minute==60)
{
$minute="00";
$value++;
}
echo "$value:$minute<br>";
}
}
danke für den tipp, aber nicht ganz was ich gesucht habe. hab aber übers php-handbuch dann eine lösung gefunden:
meiner Meinung nach gibt dein Codebeispiel nur Unsinn aus.
Unsere Lösung passt doch zu deiner Fragestellung.
Gruß,
Benne
Hi,
Unsere Lösung passt doch zu deiner Fragestellung.
nicht direkt, durch floor wird aus 12:12 => 12:00 ich will aber 12:15
deshalb ceil() ich weis das der bsp. code unsauber ist. aber außer das
ich ceil() statt floor() hab ist es das gleiche. vielen dank
MfG
Hallo
ich weis das der bsp. code unsauber ist.
nicht nur das, er ist falsch.
aus 12:21 wird 13:30 ?
Gruß,
Benne
Hi,
aus 12:21 wird 13:30 ?
Ja das lag daran:
foreach($stunde as $value)
{
foreach($neuminute as $wert)
{
$minute = $wert*15;
if($minute==60)
{
$minute="00";
$value++;
}
echo "$value:$minute<br>";
}
}
dadurch wird die stunde beim ersten wert über 45 überschriebn und eins hochgezählt. wenn man das ändert auf:
foreach($stunde as $value)
{
foreach($neuminute as $wert)
{
$minute = $wert*15;
$stunde = $value;
if($minute==60)
{
$minute="00";
$stunde++;
}
elseif($minute==0)
{
$minute="00";
}
echo "$stunde:$minute<br>";
}
}
dann stimmts
MfG
Hallo,
Hi,
bilde das Intervall {0,59} auf das Intervall {0,3} ab und multipliziere das Ergebnis mit 15.
so wollte ich das eigentlich auch ausdrücken :)danke für den tipp, aber nicht ganz was ich gesucht habe. hab aber übers php-handbuch dann eine lösung gefunden:
dann solltest du zukünftig deine Fragen bitte besser formulieren.
1. In deinem OP war _keine_ Rede von irgendwelchen Minutenüberträgen auf Stunden.
2. Du hast prinzipiell nach viertelstündlichem _Abrunden_ gefragt.
Daraus folgt, daß unsere Lösungsvorschläge vollkommen richtig sind/waren.
Btw., mit solchen Methoden lässt sich selbstverständlich auch ein richtiges Runden verwirklichen, indem z.B.:
7 Min -> 0 Min und
8 Min -> 15 Min abgebildet werden.
cu,
Michael
Hi,
dann solltest du zukünftig deine Fragen bitte besser formulieren.
- In deinem OP war _keine_ Rede von irgendwelchen Minutenüberträgen auf Stunden.
- Du hast prinzipiell nach viertelstündlichem _Abrunden_ gefragt.
Ansich hast du recht allerdings hab ich die "rundenfunktion" versucht
anhand des bsp. https://forum.selfhtml.org/?t=109950&m=688257 mit dem If-Block zu zeigen.
Wie gesagt vielen dank für eure Tips etc. ich hab ja nicht behauptet das
sie falsch sind nur waren sie nicht ganz das was ich suchte. allerdings
hat es mir einen denkanstoß gegeben. also im sinne von self. Vielen Dank
MfG
Hallo Daniel,
Ansich hast du recht allerdings hab ich die "rundenfunktion" versucht
anhand des bsp. https://forum.selfhtml.org/?t=109950&m=688257 mit dem If-Block zu zeigen.
ich finde es ungeeignet, sich mit if-Blöcken auszudrücken.
Oder redest du mit deiner Freundin auch in if-Blöcken?
Gruß,
Benne
Hallo Benne,
ich finde es ungeeignet, sich mit if-Blöcken auszudrücken.
das ist ein streitbares Thema. Es gibt Coder, die im Interesse von _wartbarem_ Code solche if-Strukturen bevorzugen. ;)
Ich neige zu solchen Einzeilern, aber wenn ein Anderer solche Code-Schnippsel vor die Augen bekommt, hat er imho schon mehr Aufwand diese zu verstehen.
cu,
Michael
Hi,
ich finde es ungeeignet, sich mit if-Blöcken auszudrücken.
ich finde es extrem gut da einfach nachvollziehbar
Oder redest du mit deiner Freundin auch in if-Blöcken?
Natürlich hier ein bsp.:
<code lang=meine>
if($ich_geil = true && $meine_freundin_geil = true)
{
gotobed($ich, $freundin);
}
elseif($ich_geil = true)
{
gotobed($ich, $freundin);
}
elseif($meine_freundin_geil = true)
{
gotoMc($ich, $auto);
}
else
{
gotoTV($ich, $freundin);
}
</code>
denken wir nicht alle in if()?!?
MfG
*SCNR*