Udregning af antal timer

Tags:    php mysql

Hejsa.

Hvis jeg ønsker at kunne udregne antal timer jeg har været på arbejde ud fra indtastede arbejdstid.

Fx at jeg arbejder fra 9 - 19.15 som jo er 10,25 timer og så kan jeg blot gange min timeløn på.

Hvordan kan jeg løse denne problemstilling nemmest?

Der skal også senere kobles på hvis jeg får tillæg i et givent tidsrum

fx at fra 18-19 får jeg 25,- ekstra.

Er på helt bar bund.

Håber der er en der kan hjælpe mig lidt videre.




33 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 12 karma
Sorter efter stemmer Sorter efter dato
Hejsa.

Nu har jeg fået smidt en masse formler og tak for det.

Men det er faktisk sådan at jeg vil lave et lille system hvor meget jeg ca. kan forvente i løn og dermed afstemme min lønseddel.

Så der vil være en tabel der fx hedder satser. Hvor alle de forskellige satser befinder sig i.

Så er det jo at jeg skal have smidt mine timer ind, men hvordan gør jeg det her nemmest?

Det hele skulle nemlig gerne ud med at jeg kan lave en liste over mine arbejdstimer og til sidst i listen får den samlede løn jeg har til gode.
Desuden vil jeg gerne på sigt tilføre funktioner som gør at jeg vise tidsintervaller på uge, måned og års basis.




Ja jeg overvejede at kommentere den antagelse, men hvis du virkelig foretog den antagelse, så:
sqr((b - 18) * (b - 18)) === (b - 18)

Det du gør er jo reelt:

sqr(x^2)


Det er ikke helt korrekt, men det er korrekt, at det er en lidt overkill beregning.
Kvadratroden af et tal ganget med sig selv er ikke tallet selv, men den absolutte værdi:
sqr((b - 18) * (b - 18)) === abs(b - 18)


...da et tal ganget med sig selv altid er positivt.



Det er faktisk helt rigtigt hvis du lagde mærke til antagelsen.



ah...my bad :$

Jeg er nok bare vant til at antagelser er skrevet i sammenhæng...ala:
sqr((b - 18) * (b - 18)) === (b - 18) for b >= 18



Indlæg senest redigeret d. 26.01.2012 14:36 af Bruger #2695
Hejsa.

Nu har jeg fået smidt en masse formler og tak for det.

Men det er faktisk sådan at jeg vil lave et lille system hvor meget jeg ca. kan forvente i løn og dermed afstemme min lønseddel.

Så der vil være en tabel der fx hedder satser. Hvor alle de forskellige satser befinder sig i.

Så er det jo at jeg skal have smidt mine timer ind, men hvordan gør jeg det her nemmest?

Det hele skulle nemlig gerne ud med at jeg kan lave en liste over mine arbejdstimer og til sidst i listen får den samlede løn jeg har til gode.
Desuden vil jeg gerne på sigt tilføre funktioner som gør at jeg vise tidsintervaller på uge, måned og års basis.


Det som michael og jeg beskrev. Burde være simpelt nok til at det bare kan skrives ind i et excel ark.



Excel er fremragende til opgaven, og let at lave en kolonne for normal timer og overarbejde hvis du indtaster mødetid og afgang og evt pauser i hver sin kolonne.

/J



Det er da simpelt i excel for der findes allerede en skabelon, men nu vil jeg gerne have det på mit webhotel.




Det skulle du jo nok nævne i din beskrivelse, du skriver jo blot du ønsker at kunne lave et fornuftigt estimat på din næste løn..




aha.

Så kan du lave en database tabel 'Arbejdstid'.

Arbejdstid:
fratid : int
tiltid : int


En form hvor du kan indtaste de to tider.

På php siden bruger du så:
t(a) = floor((floor(a) + (a % 1) * 1.66666667)*100);

$fratid = t($_POST['fratid']);
$tiltid = t($_POST['tiltid']);

De to ovenstående indsætter du i tabellen.


Så har du en visnings tabel der, henter ud fra databasen.
f(x, y, a, b) = (b - a) * x + max(b - 18, 0) * y

$res = FORETAG QUERY
$total = 0;
while($row = mysql_fetch_array($res)){
$daypay = f($normaltakst, $tillæg, $row['fratid']/100, $row['tiltid']/100);
$total += $daypay;
// UDSKRIV DAGSLØN
}
// TOTAL LØN


Ovenstående mangler en del, men håber du selv kan finde ud af det.



Hej Gustav.

Kanon lækkert svar.

Det hjalp mig helt sikkert hen til det jeg skal lave.
Super..

Jeg bukker og takker mange gange.



t