Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Kalenderwoche ??? (https://www.delphipraxis.net/37772-kalenderwoche.html)

Gigant02 10. Jan 2005 11:41


Kalenderwoche ???
 
wie bekomme ich die Kalenderwoche raus ???

kann mir da einer weiterhelfen ???

Alex_ITA01 10. Jan 2005 11:45

Re: Kalenderwoche ???
 
Folgender Code hilft dir:

Delphi-Quellcode:
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;
MFG Alex

Steve 10. Jan 2005 11:45

Re: Kalenderwoche ???
 
Hi,

Delphi-Referenz durchsuchenWeekOfTheYear


Gruß
Stephan :dance:

Muetze1 10. Jan 2005 12:46

Re: Kalenderwoche ???
 
Moin!

Gibs nur leider u.a. bei Delphi 5 nicht...

MfG
Muetze1

Steve 10. Jan 2005 13:59

Re: Kalenderwoche ???
 
Hm.. jo, richtig.. Blöde Sache! :? :stupid:

Gigant02 10. Jan 2005 14:24

Re: Kalenderwoche ???
 
super danke dalso der code Schnipsel geht super

danke

lg, Gigant02

machstuhl 4. Sep 2012 07:58

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);

Jumpy 4. Sep 2012 09:36

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 03:52 Uhr.

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