Avatar billede nicocarlos Nybegynder
07. august 2004 - 23:16 Der er 9 kommentarer og
1 løsning

tidspunkt rundet op med 15 minutter af gangen

Jeg har f.ks. et tidspunkt som jeg gerne vil have rundet op til det nærmeste kvarter i timen.
Altså 0 - 15 - 30 - 45

Sådan her får jeg tiden:
$time=date('H:i:s', time()+$fullstaminamin*60);

håber der er nogle some kan hjælpe...
Avatar billede erikjacobsen Ekspert
07. august 2004 - 23:26 #1
Du skal nok lige teste det grundigt, men et bud ville være

$t1=time();
$t2=ceil($t1/(60*15))*60*15;

Her mener jeg $t2 vil være $t1-tiden oprundet.
Avatar billede nicocarlos Nybegynder
07. august 2004 - 23:31 #2
jamen, hvordan får jeg sat det sammen med min som hedder;
$time=date('H:i:s', time()+$fullstaminamin*60); ??
Avatar billede erikjacobsen Ekspert
07. august 2004 - 23:36 #3
Jeg har løst problemet. Hvis du kan det mindste PHP selv, kan du vel også
sætte det ind i din sammenhæng. Ellers må du vente på nogen, der vil gøre det for dig.

Jeg forstår ikke helt hvad du laver med programmering, hvis dette volder dig besvær.

Og, nej tak, jeg samler ikke på point - og smutter også ud af spørgsmålet nu.
Avatar billede nicocarlos Nybegynder
07. august 2004 - 23:55 #4
Du har ikke løst problemet, da det du lavede ikke løste problemet, og er forkert når jeg tjekker efter, du kan jo evt selv prøve efter med min formel.
I hvert fald burde der følge en mindre forklaring med til din formel, fordi jeg kan ikke finde logikken i det. Jeg kan ikke se hvordan den formel du har lavet runder op til det nærmeste kvarter i forhold til tiden. Har du selv testet det efter før du hævder at du har løst problemet? - sikkert ikke, men så må jeg jo vente til der er en anden som kigger forbi :/
Avatar billede nicocarlos Nybegynder
07. august 2004 - 23:59 #5
$fullstaminamin = 360 min
Avatar billede miqe Nybegynder
08. august 2004 - 00:36 #6
Skal gerne gøre erikjakobsens arbejde færdigt ;)

$time=date('H:i:s', ceil(time()/(60*15))*60*15);
Avatar billede detox Nybegynder
08. august 2004 - 00:39 #7
Og med dit eksempel:

$time=date('H:i:s', ceil((time()+$fullstaminamin*60)/(60*15))*60*15 );
Avatar billede nicocarlos Nybegynder
08. august 2004 - 01:58 #8
det virker, tak for hjælpen :)
Avatar billede nicocarlos Nybegynder
08. august 2004 - 02:11 #9
måske virker det ikke, jeg kan ikke få den til at ramme halv ni. eller andet med halv
8.30 9.30 osv
Avatar billede miqe Nybegynder
08. august 2004 - 20:26 #10
Hmmm... På min server er der intet problem med at runde op til 8.30 og 9.30.
Går stærk ud fra at det er oprunding, og ikke afrunding, du er ude efter??
Hvad er det lige $fullstaminamin*60 gør godt for??
For mig ser det ud som om du lægger 15 dage til, hvilket ikke har betydning når du kun trækker klokkesletet ud.
Forenklet oprunding:
$time=date('H:i:s', ceil(time()/900)*900);
Forenklet nedrunding:
$time=date('H:i:s', floor(time()/900)*900);
Forenklet afrunding:
$time=date('H:i:s', round(time()/900)*900);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester