| |
|
|
Michael Wodrich | Ich hatte es schon mal an anderer Stelle zu stehen, da wurden aber zusätzliche Funktionen eingesetzt. Hier einmal pur.
Ermittelt aus einem Datum (im Format JJJJMMTT) den Wochentag: (korrigierte Version) KompilierenMarkierenSeparieren
Proc Wochentag
Liefert den Wochentag.
(Dank Eike Fremy jetzt auch den richtigen :)
0-Sonntag, 1-Montag, ..., 6-Samstag
Eingabe: das Datum im CToD$()-Format (Datenbank-Format)
(also als String: YYYYMMDD)
Parameters Datum$
Declare Jahr%,Monat%,Tage&
Jahr% = Val(Mid$(Datum$,1,4))
Monat% = Val(Mid$(Datum$,5,2))
Tage& = Val(Mid$(Datum$,7,2))
If Monat% > 2
Sub Monat%,2
Else
Add Monat%,10
Dec Jahr%
Endif
Tage& = ((13 * Monat% - 1) 5) + Tage& + (Jahr% Mod 100) + ((Jahr% Mod 100) 4) + ((Jahr% 100) 4) - 2 * (Jahr% 100) + 77
Return (Tage& Mod 7)
EndProc
Proc Wochentag$
Parameters Datum$
Declare wt%
wt% = Wochentag(Datum$)
Return Substr$(Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,wt% + 1,,)
Dank an TS-Soft (SubStr war mir auf die Schnelle nicht eingefallen)
EndProc
Cls
Set(Decimals,0) in älteren Versionen: Decimals 0
Print 26.01.2006, Soll: Do, Ist:,Wochentag$(CToD$(26.01.2006))
Print 31.12.2006, Soll: So, Ist:,Wochentag$(CToD$(31.12.2006))
Print 01.01.2007, Soll: Mo, Ist:,Wochentag$(CToD$(01.01.2007))
Print 28.02.2007, Soll: Mi, Ist:,Wochentag$(CToD$(28.02.2007))
Print 01.03.2007, Soll: Do, Ist:,Wochentag$(CToD$(01.03.2007))
WaitInput
End
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 25.01.2006 ▲ |
|
|
|
|
Michael Wodrich | Habe das erste Posting mal direkt korrigiert...
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 26.01.2006 ▲ |
|
|
|