erster/letzter Tag einer Woche [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
erster/letzter Tag einer Woche [ERLEDIGT]
hich habe über Week() die Woche des Jahres. Jetzt würde ich gerne herausfinden, wie das Anfangs/Enddatum der jeweiligen Woche lautet. Gibt es da schon etwas fertiges zu, oder wie geht man da am besten vor? Ok, man kann eine Schleife bilden, die rauf und runter läuft, aber das wäre ja zu einfach.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2829
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 97 Mal
- Danksagung erhalten: 13 Mal
Re: erster/letzter Tag einer Woche
Hallo, Manfred -
das wirst Du wohl selbst programmieren müssen, nicht zuletzt, da nicht klar ist, welcher Wochentag welcher ist.
Geht man von Mittwoch (= Mitte der Woche) aus, dann wäre der erste Tag der Sonntag, und der Samstag der letzte Tag. Schaut man sich die (meisten) Kalender dann, dann beginnt dort die Woche mit dem Montag und endet mit dem Sonntag.
Du brauchst also neben der reinen Berechnung auch einen Parameter für das "Koordinatensystem".
das wirst Du wohl selbst programmieren müssen, nicht zuletzt, da nicht klar ist, welcher Wochentag welcher ist.
Geht man von Mittwoch (= Mitte der Woche) aus, dann wäre der erste Tag der Sonntag, und der Samstag der letzte Tag. Schaut man sich die (meisten) Kalender dann, dann beginnt dort die Woche mit dem Montag und endet mit dem Sonntag.
Du brauchst also neben der reinen Berechnung auch einen Parameter für das "Koordinatensystem".
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: erster/letzter Tag einer Woche
Zusammen mit dow(date()) ist das doch ziemlich einfach
Zuletzt geändert von Wolfgang Ciriack am Fr, 04. Okt 2019 20:24, insgesamt 1-mal geändert.
Viele Grüße
Wolfgang
Wolfgang
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: erster/letzter Tag einer Woche
?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9387
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 362 Mal
- Kontaktdaten:
Re: erster/letzter Tag einer Woche
1 ist Sonntag, 7 Samstag. Die Funktionen BoW() und EoW() sind Zweizeiler.
Herzlich,
Tom
Tom
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: erster/letzter Tag einer Woche
Ok. ich dachte du ermittelst die week selber, aber ich denke, du hast die vorgegeben ?
Viele Grüße
Wolfgang
Wolfgang
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: erster/letzter Tag einer Woche
ich habe ein Datum und ermittel daraus die Woche. Aber anders gesehen ist das ja Blödsinn. Wenn ich das Datum habe, brauche ich ja nicht die Woche. Ich kann ja daraus ermitteln wo ich stehe und wie weit ich vor und zurück muß.
Aber andersherum, ich bekomme eine Wochennummer und müßte daraus irgendein Datum ableiten, was in diese Woche fällt um dann wieder Anfang und Ende ermitteln zu können.
Aber andersherum, ich bekomme eine Wochennummer und müßte daraus irgendein Datum ableiten, was in diese Woche fällt um dann wieder Anfang und Ende ermitteln zu können.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: erster/letzter Tag einer Woche
wie wäre eine Function um den Montag einer KW zu errechnen
Code: Alles auswählen
FUNCTION XF_KwMontag( nWoche, nJahr )
//
// SYNTAX : <dDatum> = XF_KwMontag( <nWoche>, <nJahr> )
// <nWoche> = Kalender Woche
// <nJahr> = Jahr
// <dDatum> = Datum
//
// ZWECK : Montag der Kalender Woche des Jahr feststellen
//
// HINWEIS : für alle Wochen
//
// BEISPIEL: ? XF_KwMontag( 1, YEAR( DATE() ) )
//
LOCAL dDay, nDayOfWeek, dDatum
dDay := CTOD( "01.01." + LTRIM( STR( nJahr, 4, 0 ) ) )
nDayOfWeek := IF( DOW( dDay ) = 1, 7, DOW( dDay ) - 1 )
dDatum := IF( nDayOfWeek < 5, dDay - 6 - nDayOfWeek + 7 * nWoche, dDay + 8 - nDayOfWeek + 7 * ( nWoche - 1 ) )
RETURN ( dDatum )
gruss by OHR
Jimmy
Jimmy
- Herbert
- Der Entwickler von "Deep Thought"
- Beiträge: 1991
- Registriert: Do, 14. Aug 2008 0:22
- Wohnort: Gmunden am Traunsee, Österreich
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: erster/letzter Tag einer Woche
Achtung, kleine Problematik zum Jahresbeginn!
aus aktuelle-kalenderwoche.org.Die erste Kalenderwoche eines Jahres ist die Woche, die mindestens vier Tage des neuen Jahres beinhaltet.
Fällt also beispielsweise der 1. Januar auf einen Dienstag, beginnt die erste Kalenderwoche mit Montag, den 31.12., da diese Woche sechs Tage des neuen Jahres enthält (Dienstag, Mittwoch, Donnerstag, Freitag, Samstag und Sonntag).
Fällt der 1. Januar hingegen auf den Freitag, dann beginnt die erste Kalenderwoche des neuen Jahres mit Montag, dem 04.01., da die Vorwoche nur drei Tage des neuen Jahres enthält (Freitag, Samstag, Sonntag).
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: erster/letzter Tag einer Woche
Herbert hat geschrieben: ↑Fr, 04. Okt 2019 23:50JADie erste Kalenderwoche eines Jahres ist die Woche, die mindestens vier Tage des neuen Jahres beinhaltet.Code: Alles auswählen
dDatum := IF( nDayOfWeek < 5, ...
gruss by OHR
Jimmy
Jimmy
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: erster/letzter Tag einer Woche
Erweitertes Problem: In den USA (Heimat der üblichen Programmiersprachen udn damit auch der Logik darin) wird die erste Woche des Jahres anders bestimmt. Es kann also passieren, das die schon in KW 2 sind, während wir noch in KW 1 sind. Wenn man also Standard-Funktionen benutzt muß man aufpassen, ob die (für uns) korrekt rechnen.
Mit Xbase++ ist das zum Glück kein Problem.
Jan
Mit Xbase++ ist das zum Glück kein Problem.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: erster/letzter Tag einer Woche [ERLEDIGT]
beim Arbeiten wird man ja immer schlauer. Ich benötige jeweils den Montag und den Sonntag für meinen Bereich. Also habe ich das hier gebaut.
damit komme ich erstmal zurecht. Hoffentlich ergeben sich später keine Seiteneffekte, egal wie und wodurch.
Code: Alles auswählen
FUNCTION fldow(dDatum) // First Last Day of Week
LOCAL aFldow := Array(2)
LOCAL nI
LOCAL nTag
DEFAULT dDatum TO Date()
nTag := Dow(dDatum) // den Wochentag ermitteln
FOR nI := nTag TO 7
aFldow[2] := ++dDatum // hier muß vorher hochegzählt werden
NEXT
FOR nI := 1 TO nTag
aFldow[1] := dDatum-- // hier muß hinterher runtergezählt werden
NEXT
RETURN aFldow
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: erster/letzter Tag einer Woche
JA dun hast Recht.Jan hat geschrieben: ↑Sa, 05. Okt 2019 8:00 Erweitertes Problem: In den USA (Heimat der üblichen Programmiersprachen udn damit auch der Logik darin) wird die erste Woche des Jahres anders bestimmt. Es kann also passieren, das die schon in KW 2 sind, während wir noch in KW 1 sind. Wenn man also Standard-Funktionen benutzt muß man aufpassen, ob die (für uns) korrekt rechnen.
meine Version ist nur für die Deutsche Logik ausgelegt
hast du die Lösung wie man den 3-Zeiler erweitertJan hat geschrieben:Mit Xbase++ ist das zum Glück kein Problem.
gruss by OHR
Jimmy
Jimmy