| Index › Visual Basic › VB Itijdsverschil laten uitrekenen | 1  |
VB Itijdsverschil laten uitrekenen | zondag 15 maart 2009 om 1:23 |
|
Iarwain
9 Posts | Hallo allemaal,
Ik moet een programma schrijven voor het werk waarin wij, zogezegd, een downtime moeten invullen.
Bijvoorbeeld down van 12:30 uur tot 13:00 uur.
Nu wil ik Visual basic het half uur tijdsverschil laten uitrekenen, is hier een code voor ???
Alvast bedankt | Laatst bewerkt door Iarwain op zondag 15 maart 2009 om 1:26
 |
|
Re: VB Itijdsverschil laten uitrekenen | zondag 15 maart 2009 om 12:02 |
|
RoelVB
Webmaster 103 Posts | Ik neem aan dat je die tijden in een Date variable hebt gezet?
Anders kun je dat op de volgende manier doen:
| Code |
1 2 3 4
|
Dim Date1 As Date, Date2 As Date
Date1 = CDate("12:30")
Date2 = CDate("13:30")
|
Vervolgens rekenen we met de volgende code het aantal seconden verschil tussen de 2 data uit.
| Code |
1
|
MsgBox DateDiff("s", Date1, Date2)
|
|
 |
|
Re: VB Itijdsverschil laten uitrekenen | zondag 15 maart 2009 om 15:09 |
|
Iarwain
9 Posts | Thanx,
Maar kan dit alleen in een msgbox??
De time diference wilde ik graag in een textbox hebben. |
 |
|
Re: VB Itijdsverschil laten uitrekenen | zondag 15 maart 2009 om 16:45 |
|
RoelVB
Webmaster 103 Posts | Je kan hem natuurlijk ook gewoon in een textbox zetten 
Zo bijvoorbeeld:
| Code |
1
|
Text1.Text = DateDiff("s", Date1, Date2)
|
|
 |
|
Re: VB Itijdsverschil laten uitrekenen | zaterdag 21 maart 2009 om 13:26 |
|
Iarwain
9 Posts | De code werkt op zich, alleen laat hij nu alleen maar minuten zien.
Dus alles onder het uur gaat goed, maar zodra de downtime over het uur gaat dan blijft ij minuten laten zien. Dus 150 minuten voor 2:30 uur.
Is er ook een code die dit kan omzetten in tijd, zodat ik 2:30 uur zie ipv 150 minuten. ?? |
 |
|
Re: VB Itijdsverschil laten uitrekenen | zaterdag 21 maart 2009 om 18:53 |
|
RoelVB
Webmaster 103 Posts |
| Code |
1 2 3 4 5 6
|
Dim Date1 As Date, Date2 As Date
Date1 = CDate("10:20")
Date2 = CDate("13:30")
MsgBox Format(Date2 - Date1, "hh:mm")
|
De messagebox op het einde geeft als uitkomst dus 03:10 |
 |
|
Re: VB Itijdsverschil laten uitrekenen | zaterdag 21 maart 2009 om 20:01 |
|
Iarwain
9 Posts |
| Code |
1
|
dtpDownUur.Text = (Date2 - Date1, "hh:mm")
|
Deze code werkt ook niet, helaas.
Krijg de volgende errormelding:
Value of type 'System.Timespan' cannot be converted to 'String'
Korte info, voor tijdsaanduiding gebruik ik MaskedTextBox met Mask set op Time.
edit: gebruik ik deze code:
| Code |
1 2 3 4 5 6
|
Dim Date1 As Date, Date2 As Date
Date1 = MaskedTextBox1.Text
Date2 = MaskedTextBox2.Text
MaskedTextBox3.Text = Format(Date2 - Date1, "hh:mm")
|
krijg ik deze error melding:
Kan een object van het type System.TimeSpan niet converteren naar het type System.IConvertible. | Laatst bewerkt door Iarwain op zaterdag 21 maart 2009 om 21:22
 |
|
Re: VB Itijdsverschil laten uitrekenen | zondag 22 maart 2009 om 16:57 |
|
RoelVB
Webmaster 103 Posts | Aah.. ik maak hieruit op dat je het over VB.Net hebt!
De volgende code moet dan werken:
| Code |
1 2 3 4 5 6
|
Dim Date1 As Date, Date2 As Date
Date1 = MaskedTextBox1.Text
Date2 = MaskedTextBox2.Text
MaskedTextBox3.Text = Format(CDate((Date2 - Date1).ToString), "hh:mm")
|
Date2 - Date1 geeft in VB.Net namelijk een TimeSpan terug ipv een Date.
Door de TimeSpan te converteren naar een String kan ik er weer een Date van maken. |
 |
|
Re: VB Itijdsverschil laten uitrekenen | zondag 22 maart 2009 om 18:10 |
|
Iarwain
9 Posts | Ik werk idd met vb.NET in Visual Studio 2008.
De code werkt perfect, alleen met een kleine kanttekening.
Als het verschil bv. 30 minuten is geeft hij aan 12:30 ipv 0:30
Ik zal even kijken waar dit aan ligt.
edit: Na lang zoeken ben ik er achter het werkt nu perfect.
De timestring moet met hoofdletter HH:mm
de code is uiteindelijk dit geworden:
| Code |
1 2 3 4 5
|
Dim Date1 As Date, Date2 As Date
Date1 = dtpDownvan.Text
Date2 = dtpDownTot.Text
dtpDownUur.Text = Format(CDate((Date2 - Date1).ToString), "HH:mm")
|
Roel hartelijk bedankt voor alle hulp    | Laatst bewerkt door Iarwain op zondag 22 maart 2009 om 19:18
 |
|
Re: VB Itijdsverschil laten uitrekenen | maandag 23 maart 2009 om 14:20 |
|
Iarwain
9 Posts | Hoi Roel,
Na wat testjes ben ik nog achter een foutje gekomen.
Als hij de nieuwe dag ingaat dan krijg ik ook een foutmelding.
bv. van 23:45 naar 00:15 uur. Dan wordt de tijd -23:30 uur.
Is hier ook een oplossing voor ??? |
 |
|
1  |