Toon posts:

[VB.Net Compact Framework] Datums van elkaar aftrekken

Pagina: 1
Acties:
  • 525 views sinds 30-01-2008

Verwijderd

Topicstarter
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.
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. |:(

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:02
code:
1
DateTime.Subtract


conclusie: eens in de msdn kijken, en zien wat de members zijn van de DateTime structure kan je heel wat ellende en moeite besparen.

[ Voor 67% gewijzigd door whoami op 09-04-2005 11:26 ]

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:56

gorgi_19

Kruimeltjes zijn weer op :9

Zied whoami :)
Verder een idee om eens te kijken naar de .Net functies in plaats van te blijven hangen in de VB6-functionaliteit, welke er alleen in zit vanwege enige vorm van backward compatibiliteit. :)

[ Voor 88% gewijzigd door gorgi_19 op 09-04-2005 11:31 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Dit topic is gesloten.