Avatar billede thorus Nybegynder
05. marts 2007 - 17:06 Der er 8 kommentarer og
1 løsning

Udregn gennemsnit start tid

Hvis jeg har dage med 7 start tider for eks. tid på hvornår man staarter med at arbejde

08:45
08:58

hvordan kan udregne en gennemsnit start tid?
Avatar billede simplus Nybegynder
05. marts 2007 - 17:11 #1
bare læg dem ind i variabler for sig selv. Evt. hvis du har dem i et array kan du lave en explode()

også laver du bare følgene

$tider = $tid1+$tid2+$tid3+$tid4+$tid5+$tid6+$tid7;
$gennemsnit = $tider/7;
echo $gennemsnit;
Avatar billede thorus Nybegynder
05. marts 2007 - 17:36 #2
hvis jeg skriver 7 tider $tider = "08:45"+"08:45"+"08:01"+"08:01"+"08:01"+"08:21"+"08:11";

Så skriver den bare 8 og ikke med decimaler
Avatar billede simplus Nybegynder
05. marts 2007 - 17:44 #3
argh, det tænkte jeg ikke på. Du kan lave en løkke som deler dem ved :

så kan du få 14 variabler som kommer til at hedde f.eks.

$tid1 og $tid11
hvor tid1 indeholder det der står før : og tid11 indeholder det der står efter :

så lægger du alle tiderne sammen som står før : med hinanden og omvendt. Så deler du dem med syv og derefter har du gennemsnittet for hver af dem.

Tror ikke det bør give problemer...
Avatar billede jakobdo Ekspert
05. marts 2007 - 18:08 #4
<?php
//http://www.eksperten.dk/spm/766265
$samlet = 0;
$tider = array('08:45','08:58','08:55','08:44','08:42','08:57','08:51');
foreach($tider AS $tid)
{
    $parts = explode(':',$tid);
    $samlet += ($parts[0] * 60) + $parts[1];
}

$gennemsnit = intval($samlet/count($tider));
$hours = floor($gennemsnit/60);
$hours_sec = intval($hours*60);
$seconds = $gennemsnit-$hours_sec;
printf("%02d",$hours);
echo ':';
printf("%02d",$seconds);
?>
Avatar billede thorus Nybegynder
05. marts 2007 - 18:25 #5
tak for jeres hjælp. jeg har brugt jakobdos

jakobdo giver du et svar
Avatar billede jakobdo Ekspert
05. marts 2007 - 22:19 #6
Svar!
Avatar billede jakobdo Ekspert
06. marts 2007 - 09:57 #7
Takker for point.
Avatar billede thorus Nybegynder
08. maj 2007 - 09:37 #8
hvad nu vist man har timer:minutter:sec -> 08:45:10

hvordan udregner man det? har lidt svært ved at genneskue det. der er 60 point til hvis en kan løse den
Avatar billede jakobdo Ekspert
08. maj 2007 - 19:27 #9
Det må være sådan her:

<?php
//http://www.eksperten.dk/spm/766265
$samlet = 0;
$tider = array('08:45:10','08:58:50','08:55:20','08:44:24','08:42:43','08:57:32','08:51:39');
foreach($tider AS $tid)
{
    $parts = explode(':',$tid);
    $samlet += ($parts[0] * 3600) + ($parts[1]*60) + $parts[2];
}

$gennemsnit = intval($samlet/count($tider));
$hours      = floor($gennemsnit/3600);
$hours_sec  = intval($hours*3600);
$minutes    = floor(($gennemsnit-$hours_sec)/60);
$minutes_sec = intval($minutes*60);
$seconds    = ($gennemsnit-$hours_sec-$minutes_sec);
printf("%02d",$hours);
echo ':';
printf("%02d",$minutes);
echo ':';
printf("%02d",$seconds);
?>
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