21. maj 2007 - 14:36Der er
3 kommentarer og 1 løsning
Beregning af tillæg
Hej
Jeg har lavet et program som kan udskrive en opgørelse for de vagter jeg har på arbejdet. I den forbindelse vil jeg gerne beregne nogle nat-tillæg og det har jeg lidt problemer med at gøre. Hver vagt bliver lagt i en databasetabel og tabellen består af: titel(string),fra-dato(datetime),til-dato(datetime) Fra- og til datoerne indeholder naturligvis en dato og et tidspunkt for henholdsvis start og slut af vagten. Vagten kan godt gå over flere dage.
Nattillægget gives i perioden fra kl. 17 til 06 om morgenen.
Hvordan beregner jeg hvor mange timer jeg skal have tillæg for på en enkelt vagt?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
der er en type TimeSpan som indeholder tidsintervaller
Dim diff as TimeSpan og f.eks. diff = til-dato - fra-dato
og du kan trække differ ud som dage, timer osv osv - slå den op på msdn
Hvis det var mit problem så ville jeg løse det på følgende måde : 1. Beregn hvor mange tillægstimer der er på startdagen 2. Beregn hvor mange timer der er på slutdagen 3. Beregn hvor mange dage der er mellem fra-dato.adddays(1).date og til-dato.date - antallet af dage x 13 timer vil give dig antallet af tillægstimer
Jeg kan desværre ikke bakse med det lige nu, men ovenstående burde give dig en start :)
Hej neoman. Jeg har nu siddet og rodet lidt med det på et stykke papir for at få hold på funktionen, men uden det store held. Det bliver hurtigt lidt rodet for mig med en masse if-sætninger og derfor ikke særligt elegant. Hvis du får tid og har lyst vil jeg blive glad for et forslag fra dig.
tmpdato = tmpdato.AddHours(1) While tmpdato < vagtdato(1)
Select Case tmpdato.Hour
'17- midnat hvor mange timer Case 17, 18, 19, 20, 21, 22, 23 tillaegstimer = tillaegstimer + 1 '01-06 om natten Case 0, 1, 2, 3, 4, 5, 6 tillaegstimer = tillaegstimer + 1
End Select
tmpdato = tmpdato.AddHours(1)
End While
Synes godt om
Ny brugerNybegynder
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.