Graag had ik voor een bepaalde toepassing het tijdsverschil willen weten van twee datums. Dus vb: 22/03/2005 23:54:50, 22/03/2005 22:13:56 en hiervan dan het tijdsverschil bepalen. Ik heb al verschillende functies probeert maar krijgt altijd te maken met een foutmelding.
Eerste manier:
1.
2.
3.
Dus dacht ik om deze eerst om te zetten naar double. Dit gaat maar dan moet je
de Date.FromOADate methode gebruiken.
Ik ben dan op zoek geweest op google naar de Date.FromOADate methode en vond ik
de volgende toepassing.
Wanneer ik deze functie in mijn toepassing plaats, vermeldt hij dat FromOADate geen member is van Date.
Dus conclusie, weet er iemand hoe je twee datums van elkaar kunt aftrekken. Want mijn mogelijkheden zijn uitgeput.
Eerste manier:
1.
Visual Basic:
1
2
3
| drNewUur("UurVerschil") = drNewUur("UurTot") - drNewUur("UurVan") 'Hier krijg je de fout dat het onmogelijk is om twee datums van elkaar 'aftetrekken. In een VBA toepassing lukt dit wel |
2.
Visual Basic:
1
2
3
| drNewUur("UurVerschil") = CDate(DateDiff(DateInterval.Second, drNewUur("UurTot"), drNewUur("UurVan"))) 'Hierbij krijg je het aantal seconden en om deze dan omtezetten in 'een datum is onmogelijk. Long om zetten in date lukt dus niet. |
3.
Dus dacht ik om deze eerst om te zetten naar double. Dit gaat maar dan moet je
de Date.FromOADate methode gebruiken.
Visual Basic:
1
2
3
| drNewUur("UurVerschil") = CDate(CDbl(drNewUur("UurTot")) - CDbl(drNewUur("UurVan"))) 'Bij deze uitwerking moet je de Date.FromOADate gebruiken om van 'double naar date te gaan |
Ik ben dan op zoek geweest op google naar de Date.FromOADate methode en vond ik
de volgende toepassing.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Function AvgDate(ByRef dateBegin As Date, ByRef dateEnd As Date) As Date Dim numDays As Double ' New type declaration added ' Compute the difference between two dates in days numDays = dateBegin.ToOADate - dateEnd.ToOADate If numDays > 21 Then ' Calculate midpoint between two dates dateBegin = System.Date.FromOADate(dateBegin.ToOADate + _ System.Date.FromOADate(dateEnd.ToOADate - _ dateBegin.ToOADate).ToOADate / 2) Else ' Calculate a week from this date dateBegin = System.Date.FromOADate(dateBegin.ToOADate + 7) End If AvgDate = dateBegin End Function |
Wanneer ik deze functie in mijn toepassing plaats, vermeldt hij dat FromOADate geen member is van Date.
Dus conclusie, weet er iemand hoe je twee datums van elkaar kunt aftrekken. Want mijn mogelijkheden zijn uitgeput.