tijd uitrekenen

Status
Niet open voor verdere reacties.

hackie900

Gebruiker
Lid geworden
28 mrt 2009
Berichten
163
hallo,
ik zit met een moeilijke rekenvraag en hoe ik dit in .net moet zetten.
ik wil graag dat er word uitgerekt op hoeveel procent datgene is.
om het duidelijk te maken:
bijv. een bepaald iets is om 1 uur snachts klaar en de tijd is nu 4 uur smiddags en het gene waar ik de procenten van wil uitreken hoever datgene is, duurt bijv. 18 uur. wat ik dan wil uitrekenen is op hoeveel procent is datgene en er moet rekening worden gehouden dat het bijv. ook 25 uur kan zijn of 34 uur.
bij voorbaat dank.

Hackie900
 
Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Progression As Double
        Dim MyMessage As String
        Dim TimeStart As DateTime
        Dim TimeEnd As DateTime
        Dim TimeBetween As DateTime

        TimeStart = TimeValue("12:15:00")
        TimeBetween = TimeValue("12:30:00")
        TimeEnd = TimeValue("12:45:00")

        Progression = (TimeBetween.ToBinary - TimeStart.ToBinary) / (TimeEnd.ToBinary - TimeStart.ToBinary)

        MyMessage = TimeStart.ToString("HH:mm:ss") & "|" & _
                         TimeBetween.ToString("HH:mm:ss") & "|" & _
                         TimeEnd.ToString("HH:mm:ss") & "|" & _
                         Format(Progression, "0.00")
        MsgBox("Progression : " & MyMessage)
    End Sub
 
bedankt voor je antwoord.
maar dit is niet precies wat ik wil..
wat ik wil is graag dat de code uitrekent op hoeveel procent het process.
bijv:
- het totale proces duurt 18 uur (dit word ingevoerd door de gebruiker).
- de tijd waneer het klaar is. (dit word ook ingevoerd door de gebruiker)
- de tijd van nu (nodig om te zien hoellang het process nog duurt en met behulp daarvan uitrekenen op hoeveel procent de is.)
 
- het totale proces duurt 18 uur (dit word ingevoerd door de gebruiker).
- de tijd waneer het klaar is. (dit word ook ingevoerd door de gebruiker)
- de tijd van nu (nodig om te zien hoellang het process nog duurt en met behulp daarvan uitrekenen op hoeveel procent de is.)

Volgens mij doe je nu ten eerste één ding overbodig, namelijk als uw programma weet hoe lang het duurt en hoe laat het nu is, kan hij zeer zeker zonder invoer van de gebruiker weten wanneer het klaar is. Maar ik snap niet wat je echt helemaal precies bedoelt hoor?!
Wat bedoel je precies met het percantage bereken? Wat is 100%, misschien kunnen we dan iets meer bedenken voor je!:thumb:
 
OK Hackie900
Wat heb je zelf al geprobeerd en waarop loop je vast?
 
nou ik speel een spel waarbij je gebouwen en wel meer kan bouwen.
als ik een gebouw bouw kan dit bijv. 18 uur duren.
dan wil ik dat ik in mijn programma kan invoeren hoeveel uur het totale proces duurt van het bouwen dus. en de eindtijd, waneer het gebouw klaar is (dit kan ik in het spel zien.)
met dit en eventueel meer wil ik uitrekenen op hoeveel procent het gebouw is.
ik maak eerst een simepele app. voor de pc en daarna voor de iphone.
ik heb zelf al heel veel lopen rekenen maar ik kom er maar niet uit.
 
OK even een voorbeeld:

- de totale bouwtijd is 12 uur
- de eindtijd is 14:30u
- het is nu 11:30u

Als ik dit weet, dan weet ik ook dat er nog 3 uur gebouwd moet worden.
En dan weet ik ook dat er al 9 uur gebouwd is.

9/12 = 0,75 = 75%

Dus het gebouw is voor 75% klaar in het hier door mij bedachte voorbeeld.
 
bedankt de rekensom werkt en is veel makkelijker dan ik dacht. ik heb veel te moeilijk gedacht. alleen nog 1 probleem: hoe reken ik de tijd uit die er al gebouwd is. ik zou niet weten hoe ik dit moet doen omdat het ook kan zijn dat er al 25 uur gebouwd is en dus op een andere dag begon.
 
- de totale bouwtijd is 20 uur
- de eindtijd is 14 februari 2010 9:30
- het is nu 13 februari 2010 23:30

Als ik dit weet, dan weet ik ook dat er nog 10 uur gebouwd moet worden.
En dan weet ik ook dat er al 10 uur gebouwd is.

10/20 = 0,5 = 50.00%

Dus het gebouw is voor 50% klaar in het hier door mij bedachte voorbeeld.

Daar heb ik deze code bij gevonden:

Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Progression As Double
        Dim MyMessage As String
        Dim TimeTotal As DateTime
        Dim TimeEnd As DateTime
        Dim CurrentTime As DateTime
        Dim TimeToGo As Double

        TimeTotal = TimeValue("20:00:00")
        TimeEnd = #2/14/2010 9:30:00 AM#
        CurrentTime = #2/13/2010 11:30:00 PM#
        TimeToGo = TimeEnd.ToBinary - CurrentTime.ToBinary
        Progression = (TimeTotal.ToBinary - TimeToGo) / TimeTotal.ToBinary

        MyMessage = "Totale bouwtijd : " & TimeTotal.ToString("HH:mm:ss") & "|" & _
                    "Tijdstip bouw klaar : " & TimeEnd.ToString("dddd, dd MMMM yyyy HH:mm:ss") & "|" & _
                    "Tijdstip nu : " & CurrentTime.ToString("dddd, dd MMMM yyyy HH:mm:ss") & "|" & _
                    "Factor gereed : " & Format(Progression, "0.00") & "|" & _
                    "Percentage gereed : " & FormatPercent(Progression, 2)
        MsgBox("Progression : " & MyMessage)
    End Sub

PS
Alleen als de bouwtijd de 24 uur overschrijdt, dan moet
Code:
        TimeTotal = TimeValue("20:00:00")
vervangen worden door iets anders - ff geen idee wat precies.
 
bedankt,
maar hoe kan ik in de code zetten dat deze automatisch de datum van vandaag en dan uitrekent. want het kan best zijn dat het dezelfde dag klaar is of de dag erna of daarna zelfs.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan