![]() |
Kalenderwoche ???
wie bekomme ich die Kalenderwoche raus ???
kann mir da einer weiterhelfen ??? |
Re: Kalenderwoche ???
Folgender Code hilft dir:
Delphi-Quellcode:
MFG Alex
function GetKW(Datum : TDatetime) : Integer;
var Day : Integer; Y,M,D : word; begin Day := DayOfWeek(Datum) - 1; if (day <= 0) then day := 7; DecodeDate(Datum + 4 - day,y,m,d); result := round(((Datum + 8 - day) - EncodeDate(y,1,1)) / 7); end; procedure TForm1.FormCreate(Sender: TObject); begin Label1.Caption := 'aktuelle Kalenderwoche: ' + IntToStr(GetKW(Now)); end; |
Re: Kalenderwoche ???
|
Re: Kalenderwoche ???
Moin!
Gibs nur leider u.a. bei Delphi 5 nicht... MfG Muetze1 |
Re: Kalenderwoche ???
Hm.. jo, richtig.. Blöde Sache! :? :stupid:
|
Re: Kalenderwoche ???
super danke dalso der code Schnipsel geht super
danke lg, Gigant02 |
AW: Kalenderwoche ???
sry fürs totengräbern, aber kann mir einer erklären warum +4 bzw +8 aufs datum gerechnet wird? :wiejetzt:
Delphi-Quellcode:
DecodeDate(Datum + 4 - day,y,m,d);
result := round(((Datum + 8 - day) - EncodeDate(y,1,1)) / 7); |
AW: Kalenderwoche ???
Also die +4 Zeile dient ja nur zur Bestimmung des Jahres (y) ist also nur an den Rändern des Jahres interessant und da ist es glaub ich so, das eine Woche zum aktuellen Jahr gehört, wenn die darin vier Tage hat, sonst zum Vorjahr.
Die +8 kann ich auch nicht genau erklären schlägt aber in eine ähnliche Kerbe denk ich. Dienst wohl dazu, dass das Datum von dem der 1.1. des Jahres abgezogen wird auf jeden Fall um eine Woche verschoben wird, wahrsch. auch um die ersten Tage des Jahres, die ggf. noch zu einer KW des Vorjahres gehören, auszugleichen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz