![]() |
Kalenderwoche Frankreich / Deutschland?
Hallo allerseits,
wir haben einen Kunden in Frankreich, der die Kalenderwoche immer samstag beginnen lässt. Ist das so in Frankreich normal oder hat er das individuell für sich so gewählt? Wie kann ich das mit der Kalenderwoche WeekOfYear Funktion von Delphi lösen? Oder ist diese auch nicht Standard nach DIN? gruß Peter |
Re: Kalenderwoche Frankreich / Deutschland?
Zitat aus der Delphi-Hilfe:
Zitat:
|
Re: Kalenderwoche Frankreich / Deutschland?
Zitat:
Delphi-Quellcode:
Dann ist es egal und jeder kann es sich machen wie er will ... immer im Sinne des Kunden,
function WeekOfYear( const ADate : TDate; const StartDayOfWeek : integer = 0 ) : integer;
und gerade hier glaube ich, dass die Diskussion mit dem Kunden länger dauern würde, als den Code zu schreiben :mrgreen: cu Oliver |
Re: Kalenderwoche Frankreich / Deutschland?
Es handelt sich nicht um einen Kunden, für den ich ein Programm schreibe, sondern ich sitze hier als Lieferant und ich schreibe eine Schnittstelle, um unsere Daten in sein Format zum Etikettieren zu konvertieren.
Die Frage ist allerdings immer noch wie der Kunde seine Kalenderwoche genau definiert. Ich weiß: 1) Eine Woche beginnt mit einem Samstag. 2) Ein Jahr hat genau 52 Kalenderwochen. 3) Somit kann die Woche 1 auch schon in den letzten Tagen des Dezembers des Vorjahres beginnen. Wenn ich vom ![]() Kennt jemand den Algorithmus? gruß Peter |
Re: Kalenderwoche Frankreich / Deutschland?
Hier einmal die Funktion WeekOfYear:
Delphi-Quellcode:
Jetzt würde ich zum übergebenen Datum einfach noch 2 Tage dazuzählen (wir tun also so, als ob der Samstag ein Monatg ist) und dann die resultierende Kalenderwoche nehmen.
function WeekOfYear(D : TDateTime) : Byte;
var aDate : Integer; MinDate : tDateTime; MaxDate : tDateTime; Day, Month, Year : Word; FirstDate : Integer; begin aDate := Trunc(D); MinDate := EncodeDate(1900, 1, 1); MaxDate := EncodeDate(3999, 12, 31); if (aDate < MinDate) or (aDate > MaxDate) then begin Result := 0; exit; end; aDate := aDate + 3 - ((5 + DayOfWeek(aDate)) MOD 7); DecodeDate(aDate, Year, Month, Day); FirstDate := Trunc(EncodeDate(Year, 1, 1)); Result := 1 + (aDate - FirstDate) DIV 7; end; cu Oliver |
Re: Kalenderwoche Frankreich / Deutschland?
Vielen Dank, Sir Rufo.
Ich habe es inzwischen auf diese ![]() Lyncht mich nicht, da ich das eigentlich für Excel suche, habe ich es mir entsprechend umgebaut :twisted: |
Re: Kalenderwoche Frankreich / Deutschland?
wenn du keinen ärger haben willst, würd ich mich mal mit dem kunden zusammensetzen und versuchen das zu definieren. zur bestimmung der kalenderwoche, gibt es etliche varianten, fängt schon an, mit der definition der ersten woche (eimal welche mind. 4 tage hat, dann mind. 5, dann erste volle woche, etc.), dann die unterschiedlichen beginndaten, etc. ...
wie so schön heisst DIN , das ist die Deutsche ... definition... |
Re: Kalenderwoche Frankreich / Deutschland?
Das stimmt schon. Sollte das Geschäftsverhältnis erweitert werden, muss es perfekt gestaltet werden.
|
Re: Kalenderwoche Frankreich / Deutschland?
... und was ist mit der 53.Woche? Die kann es bei diesen Voraussetzungen ja durchaus geben ...
Nee, nee, da muß mit dem Kunden dringend gesprochen werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 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