German wie oft ist jeder Wochentag z.B. im Monat Oktober ?

Wolli013

Well-Known Member
Licensed User
Longtime User
Wie kann ich am besten errechnen wie oft jeder Wochentag z.B. im Monat Oktober enthalten ist.

Beispiel für den Monat Oktober:

Montag = 4 mal enthalten
Dienstag = 4 mal enthalten
Mittwoch = 4 mal enthalten
Donnerstag = 5 mal enthalten
Freitag = 5 mal enthalten
Samstag = 5 mal enthalten
Sonntag = 4 mal enthalten

Vielleicht hat Jemand ein Tipp für mich.
 

DonManfred

Expert
Licensed User
Longtime User
B4X:
    ' Vorbereiten
    Dim dtstrORG As String = DateTime.DeviceDefaultDateFormat
    Dim tstrORG As String = DateTime.DeviceDefaultTimeFormat
    Dim heute As Long = DateTime.Now
    Dim result(7) As Int
    Dim TagNamen(7) As String
    TagNamen(0) = "Sonntag"
    TagNamen(1) = "Montag"
    TagNamen(2) = "Dienstag"
    TagNamen(3) = "Mittwoch"
    TagNamen(4) = "Donnerstag"
    TagNamen(5) = "Freitag"
    TagNamen(6) = "Samstag"
  
    For i = 0 To 6
        result(i) = 0
    Next
    DateTime.DateFormat = "dd.MM.yyyy"
    DateTime.TimeFormat = "EEE"
    'Dim DStr As String = "05.10.2015"
    'Dim d As Long = DateTime.DateParse(DStr)
    Dim tage As Int = DateUtils.NumberOfDaysInMonth(DateTime.GetMonth(heute),DateTime.GetYear(heute))
  
    For i = 1 To tage
        Dim DStr As String = $"$2.0{i}.$2.0{DateTime.GetMonth(heute)}.${DateTime.GetYear(heute)}"$
        Log(DStr)
        Dim tag As Long = DateTime.DateParse(DStr)
        result(DateTime.GetDayOfWeek(tag)-1) = result(DateTime.GetDayOfWeek(tag)-1)+1
        'Log(DateTime.Time(tag))      
    Next
    For i = 0 To 6
        Log(result(i)&" X "&TagNamen(i))
    Next
  
    ' Rastaurieren
    DateTime.DateFormat = dtstrORG
    DateTime.TimeFormat = tstrORG

** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
01.10.2015
02.10.2015
03.10.2015
04.10.2015
05.10.2015
06.10.2015
07.10.2015
08.10.2015
09.10.2015
10.10.2015
11.10.2015
12.10.2015
13.10.2015
14.10.2015
15.10.2015
16.10.2015
17.10.2015
18.10.2015
19.10.2015
20.10.2015
21.10.2015
22.10.2015
23.10.2015
24.10.2015
25.10.2015
26.10.2015
27.10.2015
28.10.2015
29.10.2015
30.10.2015
31.10.2015
4 X Sonntag
4 X Montag
4 X Dienstag
4 X Mittwoch
5 X Donnerstag
5 X Freitag
5 X Samstag
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
 
Top