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
FindNextPartyDate 
Autor: Manfred X
Datum: 03.11.17 22:50

   Public Function FindNextPartyDate() As Date
 
        'Static: lokal deklarierte Liste bleibt zwischen 
        '        den Aufrufen erhalten
        Static PartyDates As List(Of DateTime)
 
        If PartyDates Is Nothing Then
            'Beim ersten Aufruf:
            'Liste erstellen und mit üblichen Party-Terminen füllen
            '(Berliner Version: Regionale Abweichungen denkbar)
            PartyDates = New List(Of DateTime)
            Dim start As Long = New Date(Today.Year, 1, 1).Ticks
            Dim ende As Long = New Date(Today.Year + 1, 12, 31).Ticks
 
            For i As Long = start To ende Step TimeSpan.TicksPerDay
                Dim dt As DateTime = New DateTime(i)
 
                With dt
                    If .DayOfWeek = DayOfWeek.Monday Or _
                       .DayOfWeek = DayOfWeek.Sunday Or _
                       .DayOfWeek = DayOfWeek.Saturday Or _
                       .DayOfWeek = DayOfWeek.Friday Then
                        PartyDates.Add(dt)
                    End If
                End With
            Next i
        End If
 
        Dim mindiff As Long = Long.MaxValue
        Dim NextPartyDate As DateTime = Nothing
        Dim diff As Long
        For i As Integer = 0 To PartyDates.Count - 1
            diff = PartyDates(i).Date.Ticks - Today.Date.Ticks
            'Die nächste Party findet in der Zukunft statt
            If diff > 0 AndAlso diff < mindiff Then
                mindiff = diff
                NextPartyDate = PartyDates(i)
            End If
        Next i
        Return NextPartyDate
    End Function
Ermittlung der Zahl der bereits gelebten Tage:
 Private Function DaysLived(ByVal birthday As Date) As Integer
 
    Return (Today.Date - birthday.Date).Days
 
 End Function
Datum eines "runden Tages-Geburtstages"
(gegeben durch den Days-Parameter):
 Private Function GetPartyDay(ByVal birthday As Date, _
          ByVal Days As Integer) As Date
 
    Return birthday.Date.AddDays(Days)
 End Function


Beitrag wurde zuletzt am 03.11.17 um 23:15:35 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Annäherung an Wunschzahl1.171Leberkas31.10.17 10:10
Re: Annäherung an Wunschzahl587effeff31.10.17 10:34
Re: Annäherung an Wunschzahl683Franki02.11.17 04:09
Re: Annäherung an Wunschzahl585Manfred X02.11.17 10:22
Re: Annäherung an Wunschzahl560Leberkas02.11.17 20:32
Re: Annäherung an Wunschzahl573Franki03.11.17 04:06
Re: Annäherung an Wunschzahl618Manfred X03.11.17 06:15
Re: Annäherung an Wunschzahl562effeff03.11.17 10:34
FindNextPartyDate532Manfred X03.11.17 22:50

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