vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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 (Tageswechsel) 
Autor: Manfred X
Datum: 29.10.17 15:35

Falls ein Zeitintervall, das durch zwei Uhrzeiten gegeben ist, einen
Tageswechsel beinhaltet, ist der "AllowDateChange"-Parameter "true"
zu setzen - also z.B. Zeitbereich 23:00 Uhr bis 1:00 Uhr.
Wenn "IncludeDate" "true" ist, wird dieser Parameter ignoriert.
''' <summary>Prüft, ob ein Zeitpunkt innerhalb eines Zeitintervals 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">Liegt der Beginn im Zeitintervall?</param>
''' <param name="IncludeUpperLimit">Liegt das Ende noch im Zeitintervall?</param>
''' <param name="AllowDateChange">
''' Ist ein Tageswechsel zwischen den Uhrzeiten erlaubt?</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, _
        Optional ByVal AllowDateChange As Boolean = False) 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
            If Not IncludeDate AndAlso AllowDateChange Then
                'Tageswechsel zwischen den beiden Uhrzeiten 
                UpperLimit = UpperLimit.AddDays(1)
            Else
                Throw New ArgumentException _
                    ("Unzulässige Angabe für Zeitfenster")
            End If
        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
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zeit in Datetimepicker2.287Marty**22.10.17 17:35
Re: Zeit in Datetimepicker1.670Manfred X22.10.17 18:10
Re: Zeit in Datetimepicker1.589Marty**23.10.17 17:42
Re: Zeit in Datetimepicker1.558Manfred X23.10.17 19:09
Re: Zeit in Datetimepicker1.503Marty**28.10.17 15:24
Prüfen eines Zeitintervalls1.531Manfred X28.10.17 20:45
Prüfen eines Zeitintervalls (Tageswechsel)1.774Manfred X29.10.17 15:35
Re: Zeit in Datetimepicker1.555effeff28.10.17 15:43
Re: Zeit in Datetimepicker1.628Marty**29.10.17 06:20
Re: Zeit in Datetimepicker1.495Franki30.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