Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wochen eines Monats (deren Start- und Endtag) ermitteln (https://www.delphipraxis.net/133305-wochen-eines-monats-deren-start-und-endtag-ermitteln.html)

hoika 29. Apr 2009 13:34


Wochen eines Monats (deren Start- und Endtag) ermitteln
 
Hallo #,

ich fummel mir hier gerade einen ab.

geg: ein Monat (Startdatum, Enddatum: TDateTime
ges. Anzahl der Wochen des Monats mit Angabe
Start/Ende der jeweiligen Woche

Also bei März 2009 wäre das dann:
1.3-1.3.
2.3-8.3.

usw.


Irgendwie stehe ich voll auf dem Schlauch.

Das kann doch nicht so schwer sein ;(


Heiko

mkinzler 29. Apr 2009 13:35

Re: Anzahl der Wochen eines Monats ermitteln
 
Die Unit DateUtils kennst du aber schon, oder? :zwinker:

hoika 29. Apr 2009 13:47

Re: Anzahl der Wochen eines Monats ermitteln
 
Hallo,

jaaaa, und welche Methode draus ?

Dass ich DayOfWeek verwenden muss is schon klar,
irgendwie bekomme ich das aber nicht hin.

GetWeeksOnMonth? ;)

Aktueller Ansatz:
- alle Sonntage bestimmen
- per Schleife den Montag der Sonntage bzw. ersten Tag des Monats
(bei der ersten Woche)
- ist letzter Tag des Monats kein Sonntag,
auch von dieser Woche den Montag bestimmen

Ich wollte das eigentlich per Schleife machen,
das hakt aber gerade bei mir (interessant ist der März mit dem 1.3, gleich als Sonntag)

Ich werde mal dunit anwerfen.
Der Code ist mir nicht geheuer ;)


Heiko <- hat heute seinen schwachen Tag (einmal im Jahr darf er)

SirThornberry 29. Apr 2009 13:52

Re: Anzahl der Wochen eines Monats ermitteln
 
Wenn Start und Anfang immer im gleichen Monat sind ist es doch das einfachste: (Ende - Start) / 7
Damit hast du die Anzahl der Wochen (eine Woche hat schließlich immer 7 Tage). Oder zählen bei dir nur Wochen von einem bestimmten Wochentag bis zu einem bestimmten Wochentag? Dann müsstest du definieren ob du es wie in Europa üblich machen willst (Montag bis Sonntag) oder ob bei dir der Wochenstart, wie in manchen Ländern üblich, auf einem anderen Wochentag liegt.

Hansa 29. Apr 2009 13:59

Re: Anzahl der Wochen eines Monats ermitteln
 
Zitat:

Zitat von SirThornberry
...ob du es wie in Europa üblich machen willst (Montag bis Sonntag)...

Im christlichen Abendland beginnt die Woche überall Sonntags. Also : Kirchgang am Sonntag ist wohl wieder fällig. :mrgreen: Sogar Delphi hält sich daran. Sonntag = 1. Siehe DayOfWeek F1

hoika 29. Apr 2009 13:59

Re: Anzahl der Wochen eines Monats ermitteln
 
Hallo,

es geht um die unterschiedlichen Wochen eines Monats und zwar die Anzahl, aber viel wichtiger Start- und Enddatum.
Und wir reden nur von Germany ;) also Mo-So

Also vom 1. bis zum Sonntag der 1. Woche des Monats
dann wieder der Montag bis So der nächsten Woche usw.

Bei der letzten Woche geht es nur bis zum 30./31.

Noch einmal, ich brauche Start- und Endetag der Wochen.

Also bei März 2009 wäre das dann:
1.3-1.3.
2.3-8.3.
9.3.-15.3
..
30.3.-31.3.


Ich probier mal meine Schleife aus.


Hintergrund ist eine Wochengleitzeit-Regelung, die ich gerade erweitere.


Heiko

Hansa 29. Apr 2009 14:05

Re: Anzahl der Wochen eines Monats ermitteln
 
Zitat:

Zitat von hoika
Also bei März 2009 wäre das dann:
1.3-1.3.
2.3-8.3.
9.3.-15.3

1.3. war Sonntag. DayOfWeek liefert dafür also 1. Montag wäre das +1 also 2. Der nächste Montag wäre 2+7 also der 9. usw. :P

hoika 29. Apr 2009 14:10

Re: Anzahl der Wochen eines Monats ermitteln
 
Hallo,

beim 1.3. will ich aber 1.3.-1.3. haben
ja, und der 30.3. ist auch ein Montag + 7 = 37 ? ;)

Ich habe es jetzt so gelöst wie ich es gesagt habe.

Alle Sonntage oder letzter Tag des Monats suchen und den passenden Montag
bzw. des 1. Tag des Monats.

Mal sehen, was dunit zu den code sagt ...


Heiko

Sharky 29. Apr 2009 14:11

Re: Anzahl der Wochen eines Monats ermitteln
 
Zitat:

Zitat von Hansa
.... Im christlichen Abendland beginnt die Woche überall Sonntags. Also : Kirchgang am Sonntag ist wohl wieder fällig. :mrgreen: Sogar Delphi hält sich daran. Sonntag = 1. Siehe DayOfWeek F1

Das war einmal. Heute wird in gesamt Europa ISO 8601 umgesetzt und dort endet die Woche mit dem Sonntag (ergo fängt sie mit dem Montag an) ;-)

Hansa 29. Apr 2009 14:15

Re: Anzahl der Wochen eines Monats ermitteln
 
Dann eben selber F1 drücken. 8)

Zitat:

Zitat von F1
DayOfWeek gibt den Wochentag des angegebenen Datums als Integer zwischen 1 und 7 zurück. Hierbei gilt der Sonntag als erster Tag der Woche und der Samstag als der siebte Tag.



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz