Announcement

Collapse
No announcement yet.

Differenz in Stunden und Minuten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Differenz in Stunden und Minuten

    Ich würde zwischen dem Beginn und dem Ende gerne die Zeit ermitteln. Das Datum ist bei tmpBeginn und tmpEnde gleich. Lediglich die Uhrzeiten sind unterschiedlich. Mein Code gibt immer tmpIst = 0 zurück.

    Code:
    ...
    'Beginn und Ende umwandeln
    tmpBeginn = DateTime.Parse(_Datum & " " & _Beginn)
    tmpEnde = DateTime.Parse(_Datum & " " & _Ende)
    
    'Istarbeitszeit und Differenz errechnen
    Dim tmpIst As New TimeSpan(tmpEnde.Ticks - tmpBeginn.Ticks)
    _Ist = (CType(tmpIst.TotalHours.ToString, Double))
    ...
    Ich möchte gerne folgendes erreichen:

    Beginn: 31.03.2009 07:30:00
    Ende: 31.03.2009 16:00:00

    tmpIst = 8,5


    Was muss ich anders machen?
    Zuletzt editiert von Harald Frede; 31.03.2009, 16:13.

  • #2
    Hallo,

    mir kommt es vor, dass du viel zu kompliziert denkst. Die Differenz zwischen zwei DateTime-Werten ist ein TimeSpan; das Umrechnen über die Ticks erfolgt automatisch. TotalHours liefert direkt einen double-Wert; wozu also noch mit CType konvertieren? Also sollte es so gehen:
    Code:
    double result = (tmpEnde - tmpBeginn).TotalHours
    Warum bei dir immer 0 herauskommt, weiß ich nicht; das Umrechnen über String kommt mir jedenfalls abwegig vor.

    Gruß Jürgen

    Comment


    • #3
      Du hast Recht. Deine Variante ist viel einfacher.

      Mein Problem lag aber ganz wo anders. Ich habe vergessen die Variablen _Beginn und _Ende mit Werten zu füllen, daher kam natürlich immer 0 heraus.

      Danke für Deine Hilfe.

      Comment

      Working...
      X