vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: TimeSpan addieren mit Servicezeit 
Autor: Manfred X
Datum: 11.10.10 21:17

Hallo Redl!

Vielleicht so (ungetestet!!!):

    Public Function AddTimeSpan(ByVal dt As DateTime, ByVal ts As TimeSpan) As _
      DateTime
 
        Dim ServiceStart As DateTime = CDate("06:15")
        Dim ServiceEnd As DateTime = CDate("19:00")
 
        'Wie viel Zeit bleibt heute noch?
        Dim serviceendtoday As DateTime = New DateTime(dt.Year, dt.Month, _
          dt.Day, _
        ServiceEnd.Hour, ServiceEnd.Minute, ServiceEnd.Second)
        Dim timespantoend As TimeSpan = serviceendtoday.Subtract(dt)
 
        If timespantoend.Hours < 0 Then
            'Startzeit liegt nicht im Serviceintervall !!!
            Throw New ArgumentException
        End If
        If timespantoend.Ticks >= ts.Ticks Then
            'Zielzeit liegt noch im heutigen Serviceintervall
            Return dt.Add(ts)
        End If
 
        'Tägliches Serviceintervall
        Dim servicetimespandaily As TimeSpan = ServiceEnd.Subtract(ServiceStart)
 
        'Restzeit heutiges SIntervall abziehen
        ts = ts.Subtract(timespantoend)
 
        'Datum hochsetzen und Zeit-Intervall sukzessive verkleinern
        While ts.Ticks > servicetimespandaily.Ticks
            ts = ts.Subtract(servicetimespandaily)
            dt = dt.AddDays(1)
        End While
 
        'Verbliebene Zeit zum Servicestart addieren
        ServiceStart = ServiceStart.Add(ts) : dt = dt.AddDays(1)
 
        'Datum und Zeit zurückgeben
        Return New DateTime _
        (dt.Year, dt.Month, dt.Day, ServiceStart.Hour, ServiceStart.Minute, 0)
 
    End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TimeSpan addieren mit Servicezeit3.277Redl11.10.10 18:36
Re: TimeSpan addieren mit Servicezeit2.946Manfred X11.10.10 21:17
Re: TimeSpan addieren mit Servicezeit2.816Redl13.10.10 22:23
Re: TimeSpan addieren mit Servicezeit2.817Manfred X14.10.10 02:49
Re: TimeSpan addieren mit Servicezeit2.785Drapondur14.10.10 17:55

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel