vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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 - Ein- und Umsteiger
Re: Anzahl Tage mehrerer Datumswerte herausfinden 
Autor: Manfred X
Datum: 18.10.10 10:51

Hallo!

Vielleicht so, ungetestet!!, aber das Prinzip könnte passen:

    Private Structure contract
        Dim von As DateTime
        Dim bis As DateTime
        '........... weitere Vertragsinfos
    End Structure
 
'In einem Modul:
 
 
        Dim Arbeitstage As Integer = 0
 
        Dim contracts As New System.Collections.Generic.List(Of contract)
 
        Dim contract1 As contract
        contract1.von = CDate("15.3.2010")
        contract1.bis = CDate("27.8.2010")
        contracts.Add(contract1)
 
        Dim contract2 As contract
        contract2.von = CDate("15.4.2010")
        contract2.bis = CDate("27.10.2010")
        contracts.Add(contract2)
 
        Dim aktuell As DateTime = CDate("31.12.2009")
        Dim IstArbeitstag(365) As Boolean
        For i As Integer = 1 To 365
            aktuell = aktuell.AddDays(1)
            For k As Integer = 0 To contracts.Count - 1
                If TagInIntervall(aktuell, contracts(k).von, contracts(k).bis) _
                  Then
                    IstArbeitstag(i) = True
                End If
            Next k
        Next i
 
        For i As Integer = 1 To 365
            If IstArbeitstag(i) Then Arbeitstage += 1
        Next i
 
'==========================================================
 
    Public Function TagInIntervall(ByVal aktuell As DateTime, _
                                   ByVal von As DateTime,
                                   ByVal bis As DateTime) As Boolean
 
        Dim ts As New TimeSpan(0)
        If aktuell.Subtract(von) >= ts And _
            aktuell.Subtract(bis) <= ts Then Return True
        Return False
    End Function
Den Sonntag filtert man in der Tages-Schleife mit:
If Not aktuell.DayOfWeek = System.DayOfWeek.Sunday Then

MfG
Manfred

Beitrag wurde zuletzt am 18.10.10 um 11:03:53 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anzahl Tage mehrerer Datumswerte herausfinden1.555xyron18.10.10 10:00
Re: Anzahl Tage mehrerer Datumswerte herausfinden885Manfred X18.10.10 10:06
Re: Anzahl Tage mehrerer Datumswerte herausfinden949xyron18.10.10 10:36
Re: Anzahl Tage mehrerer Datumswerte herausfinden969Manfred X18.10.10 10:51
Re: Anzahl Tage mehrerer Datumswerte herausfinden879xyron18.10.10 14:31

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