2016-04-22 3 views
-3

enter image description here Wie ein Tag zu zählen, einen Tag ohne Urlaub und Samstag, Sonntag (VB) unter Verwendung Datum Zeit PickerWie ein Tag zu zählen, einen Tag ohne Urlaub und Samstag, Sonntag (VB) unter Verwendung Datum Zeit Picker

für Urlaub Menschen System hilf mir bitte!

aus dem Bild links ist Datum Start und rechts ist Enddatum dann wenn ich Datum beide auswählen. zählt Tag dann auf der Textbox ... ohne Sonntag Samstag und Feiertag, der auf Access-Datenbank ...

+1

H Woher wissen wir, ob es ein Feiertag ist? –

+0

Schreiben von Code ist ein guter Anfang ... –

+0

Ich habe Urlaub auf Access-Datenbank, aber ich weiß nicht, es zu verwenden ...>< –

Antwort

0

Anzahl Tage von Anfang bis Ende, die nicht Samstag oder Sonntag ist:

Dim startDate As Date = New DateTime(2016, 1, 1) 
    Dim endDate As Date = DateTime.Now 
    Dim currentDate = startDate 
    Dim daysWithoutSatOrSun As Integer = 0 

    Do 
     If currentDate.DayOfWeek <> DayOfWeek.Saturday AndAlso currentDate.DayOfWeek <> DayOfWeek.Sunday Then 
      daysWithoutSatOrSun += 1 
     End If 
     currentDate = currentDate.AddDays(1) 
    Loop Until currentDate > endDate 

    MessageBox.Show("Days " & daysWithoutSatOrSun) 
+0

Wenn ich Urlaub auf Datenbank habe. Wie werde ich verwenden? –

0

Eine lesbare Option ist, verwenden LINQ:

Dim days As Int32 = (d2 - d1).Days 
Dim weekend = {DayOfWeek.Saturday, DayOfWeek.Sunday } 
Dim nonWeekendDays = From d in Enumerable.Range(0, days + 1) 
        Select day = d1.Date.AddDays(d) 
        Where Not weekend.Contains(day.DayOfWeek) 
Dim countOfDays As Int32 = nonWeekendDays.Count() 

Wenn Sie List(Of Date) haben, welche die Feiertage enthält, kann man hinzufügen:

Where Not weekend.Contains(day.DayOfWeek) AndAlso Not holidays.Contains(day) 
+0

Ich habe Urlaub auf Access-Datenbank Art der Daten ist Datetime. Wie werde ich hinzufügen? –

Verwandte Themen