Seite 1 von 1
Kommenden Freitag errechnen...
Verfasst: 18.09.2013 14:06
von Rene-RNI
Hallo ich brauche für meinen Uploader die kommenden 8 Freitage in einer Combobox.
Wie kann ich das machen? finde dazu keinerlei anhaltspunkte.
Kann mir da jemand unter die arme greifen?
Danke schon mal
Rene
Re: Kommenden Freitag errechnen...
Verfasst: 18.09.2013 14:26
von CSHW89
Die folgenden Funktionen sollten dabei helfen:
Date(): Gibt aktuelles Datum zurück
DayOfWeek(): Gibt den Wochentag eines Datums zurück
AddDate(): Fügt einen Wert zum Datum hinzu (z.B. 7 Tage)
Näheres in der Hilfe.
lg Kevin
Re: Kommenden Freitag errechnen...
Verfasst: 18.09.2013 14:33
von NicTheQuick
Du meinst sowas?
Code: Alles auswählen
Define.i today, nextFriday
today = Date()
nextFriday = AddDate(today, #PB_Date_Day, ((12 - DayOfWeek(today)) % 7))
Debug "Die kommenden 8 Freitage:"
For i = 1 To 8
Debug FormatDate("%dd.%mm.%yyyy", nextFriday)
nextFriday = AddDate(nextFriday, #PB_Date_Week, 1)
Next
Re: Kommenden Freitag errechnen...
Verfasst: 18.09.2013 14:39
von Rene-RNI
Ja genau das habe ich gesucht,
so wie ich das verstehe: 12-7= 5.tag der Woche also freitag
Wenn ich % 5 mache = Sonntage
sehe ich das richtig?
Re: Kommenden Freitag errechnen...
Verfasst: 18.09.2013 14:40
von Bisonte
Und ich mach da sowas ellenlanges...
Da wart ihr schneller...
Aber auch der Weg funktioniert
Code: Alles auswählen
Define Window, Event, Quit
Define Combo
#DAY_TO_SECONDS = 86400
Dim Freitag(8)
Window = OpenWindow(#PB_Any, #PB_Ignore, #PB_Ignore, 200, 100, "Kommende Freitage", #PB_Window_SystemMenu)
Combo = ComboBoxGadget(#PB_Any, 20, 20, 160, 20)
If DayOfWeek(Date()) < 5
Freitag(1) = Date() + ((5-DayOfWeek(Date())) * #DAY_TO_SECONDS)
ElseIf DayOfWeek(Date()) = 6
Freitag(1) = Date() + (6*#DAY_TO_SECONDS)
ElseIf DayOfWeek(Date()) = 5
; Hier wäre der wirklich nächste Freitag
Freitag(1) = Date() + (7*#DAY_TO_SECONDS)
; oder eben Heute
; Freitag(1) = Date()
EndIf
AddGadgetItem(Combo, 0, FormatDate("%dd.%mm", Freitag(1)) )
For i=2 To 8
Freitag(i) = Freitag(i-1) + (7*#DAY_TO_SECONDS)
Debug FormatDate("%dd.%mm", Freitag(i))
AddGadgetItem(Combo, i-1, FormatDate("%dd.%mm", Freitag(i)) )
Next i
SetGadgetState(Combo, 0)
Repeat
Event = WaitWindowEvent()
If Event
Select Event
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
EndIf
Until Quit > 0
Re: Kommenden Freitag errechnen...
Verfasst: 19.09.2013 13:15
von NicTheQuick
Rene-RNI hat geschrieben:Ja genau das habe ich gesucht,
so wie ich das verstehe: 12-7= 5.tag der Woche also freitag
Wenn ich % 5 mache = Sonntage
sehe ich das richtig?
Das "% 7" muss immer bleiben. Aber du kannst die Zahl '12' variieren von 7 bis 13 um andere nächste Wochenentage zu berechnen.