Jump to content
  • 0

Rekenen met tijden // ouwe koeien? //


Jerry

Question

Posted

http://www.clarify.net/viewtopic.php?t=3254

 

Dit draadje gaat precies over iets wat mij maar niet lukt...

 

Doel: ik wil het aantal uren zien dat er in een bepaalde dienst gewerkt is:

Dagdienst:.....uur

Avonddienst:.....uur

Nachtdienst:....uur

 

Dagdienst:

 

If(GetAsNumber(Eindtijd_regels) > Time(7;0;0) and GetAsNumber(Eindtijd_regels)<= Time(18;0;0) and GetAsNumber(Begintijd_regels) <=Time(7;0;0); Eindtijd_regels - Time(7; 0; 0);"") +

If(GetAsNumber(Eindtijd_regels) >= Time(7;0;0) and GetAsNumber(Eindtijd_regels)<= Time(18;0;0) and GetAsNumber(Begintijd_regels) > Time(7;0;0); Eindtijd_regels - Begintijd_regels;"") +

If(GetAsNumber(Eindtijd_regels)> Time(18;0;0) and GetAsNumber(Begintijd_regels) <= Time(7;0;0); Time(18;0;0) - Time(7; 0; 0);"") +

If(GetAsNumber(Eindtijd_regels) >= Time(7;0;0) and GetAsNumber(Eindtijd_regels)> Time(18;0;0) and GetAsNumber(Begintijd_regels) > Time(7;0;0) and GetAsNumber(Begintijd_regels) <= Time(18;0;0); Time(18;0;0) - Begintijd_regels;"")+

If(GetAsNumber(Eindtijd_regels)<=Time(7;0;0);Time(18;0;0)-Begintijd_regels)

 

Dagdienst/3600 = uitkomst

 

 

Avonddienst

 

If(GetAsNumber(Eindtijd_regels) > Time(18;0;0) and GetAsNumber(Eindtijd_regels)<= Time(24;0;0) and GetAsNumber(Begintijd_regels) <=Time(18;0;0); Eindtijd_regels - Time(18; 0; 0);"") +

If(GetAsNumber(Eindtijd_regels) >= Time(18;0;0) and GetAsNumber(Eindtijd_regels)<= Time(24;0;0) and GetAsNumber(Begintijd_regels) > Time(18;0;0); Eindtijd_regels - Begintijd_regels;"") +

If(GetAsNumber(Eindtijd_regels)> Time(24;0;0) and GetAsNumber(Begintijd_regels) <= Time(18;0;0); Time(24;0;0) - Time(18; 0; 0);"") +

If(GetAsNumber(Eindtijd_regels) >= Time(18;0;0) and GetAsNumber(Eindtijd_regels)> Time(24;0;0) and GetAsNumber(Begintijd_regels) > Time(18;0;0) and GetAsNumber(Begintijd_regels) <= Time(24;0;0); Time(24;0;0) - Begintijd_regels;"")+

If(GetAsNumber(Eindtijd_regels)<=Time(7;0;0)and GetAsNumber(Begintijd_regels)<=Time(18;0;0);Time(24;0;0)-Time(18;0;0))

 

 

En nacht dienst.

 

If(GetAsNumber(Eindtijd_regels) > Time(0;0;0) and GetAsNumber(Eindtijd_regels)<= Time(7;0;0) and GetAsNumber(Begintijd_regels) <=Time(0;0;0); Eindtijd_regels - Time(0;0;0);"") +

If(GetAsNumber(Eindtijd_regels) >= Time(0;0;0) and GetAsNumber(Eindtijd_regels)<= Time(7;0;0) and GetAsNumber(Begintijd_regels) > Time(0;0;0); Eindtijd_regels - Begintijd_regels;"") +

If(GetAsNumber(Eindtijd_regels)> Time(7;0;0) and GetAsNumber(Begintijd_regels) <= Time(0;0;0); Time(7;0;0) - Time(0;0;0);"") +

If(GetAsNumber(Eindtijd_regels) >= Time(0;0;0) and GetAsNumber(Eindtijd_regels)> Time(7;0;0) and GetAsNumber(Begintijd_regels) > Time(0;0;0) and GetAsNumber(Begintijd_regels) <= Time(7;0;0); Time(7;0;0) - Begintijd_regels;"")+

If(GetAsNumber(Eindtijd_regels)<=Time(0;0;0);Time(7;0;0)-Begintijd_regels)

 

 

Test:

 

06:00- 19:00 (13 uur)

 

dagdienst 11 uur

avond dienst 1 uur

nachtdienst 1 uur.

 

Dat klopt dus.

 

Maar ga je een dienst invoeren van bv

23:00-07:00

 

Dan krijg je negatieve waardes.

 

 

Heeft iemand een idee hoe dat kan en wat er moet veranderen?

 

 

:!: Bovenstaande berekeningen heb ik niet zelf uitgedokterd, ze zijn overgenomen van een forummer in een eerder draadje ( vorig jaar geloof ik) :!:

3 answers to this question

Recommended Posts

  • 0
Posted

Bij de nachtdienst zit je te paard op twee dagen (is dat een Nederlandse uitdrukking ¿ ), dus dien je daar ook rekening mee te houden.

 

((dateEnd - dateStart) * 86400) + timeEnd - timeStart

 

.. is een vrij eenvoudige manier om de uren te berekenen die over meerdere dagen lopen.

 

Las, lijm, plak of velponiseer dat in je nachtformule.

  • 0
Posted

Misschien dat Timestamps nauwkeriger zijn?

 

De uitdaging is echter groter:

 

Ik weet hoelang een dienst duurt, over middernacht heen.

 

Ik weet niet, maar wil wel weten, hoeveel uren er zijn gewerkt in elke dienst afzonderlijk.

 

x-uren in dagdienst (07:00-18:00)

x-uren in avonddienst (18:00-24:00)

x-uren in nachtdienst (24:00-07:00)

 

De berekeningen die ik gepost had kloppen voor de dag.-en avonddienst. In de nachtdienst schijnen ze af te tellen?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...