vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Prüfen eines Zeitintervalls 
Autor: Manfred X
Datum: 28.10.17 20:45

Hallo!

Zu unterscheiden ist, ob das Zeitfenster durch zwei Zeitpunkte oder
durch zwei Uhrzeiten ("Everyday") gegeben wird (IncludeDate-Parameter).
Relevant ist häufig auch, ob die Grenzen des Zeitfensters einzuschließen sind.
''' <summary>Prüft, ob ein Zeitpunkt innerhalb eines Zeitintervalls liegt</summary>
''' <param name="DateTimeToCheck">zu prüfender Zeitpunkt</param>
''' <param name="LowerLimit">Beginn des Zeitintervalls</param>
''' <param name="UpperLimit">Ende des Zeitintervalls</param>
''' <param name="IncludeDate">Soll das Datum einbezogen werden?</param>
''' <param name="IncludeLowerLimit">Beginn bereits im Zeitintervall</param>
''' <param name="IncludeUpperLimit">Ende noch im Zeitintervall</param>
    Private Function IsInTimeInterval(ByVal DateTimeToCheck As DateTime, _
        ByVal LowerLimit As DateTime, ByVal UpperLimit As DateTime, _
        Optional ByVal IncludeDate As Boolean = False, _
        Optional ByVal IncludeLowerLimit As Boolean = True, _
        Optional ByVal IncludeUpperLimit As Boolean = True) As Boolean
 
        Dim basedate As New DateTime(2000, 1, 1)
 
        If Not IncludeDate Then
            UpperLimit = basedate.Add(UpperLimit.TimeOfDay)
            LowerLimit = basedate.Add(LowerLimit.TimeOfDay)
            DateTimeToCheck = basedate.Add(DateTimeToCheck.TimeOfDay)
        End If
 
        If LowerLimit > UpperLimit Then
            Throw New ArgumentException _
                ("Unzulässige Angabe für Zeitfenster")
        End If
 
        Dim CheckUpper, CheckLower As Boolean
        If IncludeLowerLimit Then
            CheckLower = DateTimeToCheck >= LowerLimit
        Else
            CheckLower = DateTimeToCheck > LowerLimit
        End If
        If IncludeUpperLimit Then
            CheckUpper = DateTimeToCheck <= UpperLimit
        Else
            CheckUpper = DateTimeToCheck < UpperLimit
        End If
 
        Return CheckUpper And CheckLower
    End Function
Ergänzender Hinweis:
Es wird nicht geprüft, ob die als Parameter übergebenen DateTime-Werte
innerhalb der regionalen Gültigkeit des jeweils eingestellten Kalenders liegen.

Beitrag wurde zuletzt am 28.10.17 um 20:56:51 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zeit in Datetimepicker2.288Marty**22.10.17 17:35
Re: Zeit in Datetimepicker1.672Manfred X22.10.17 18:10
Re: Zeit in Datetimepicker1.590Marty**23.10.17 17:42
Re: Zeit in Datetimepicker1.561Manfred X23.10.17 19:09
Re: Zeit in Datetimepicker1.505Marty**28.10.17 15:24
Prüfen eines Zeitintervalls1.534Manfred X28.10.17 20:45
Prüfen eines Zeitintervalls (Tageswechsel)1.776Manfred X29.10.17 15:35
Re: Zeit in Datetimepicker1.557effeff28.10.17 15:43
Re: Zeit in Datetimepicker1.629Marty**29.10.17 06:20
Re: Zeit in Datetimepicker1.498Franki30.10.17 02:02

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-2024 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