AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Kalenderwoche Frankreich / Deutschland?

Kalenderwoche Frankreich / Deutschland?

Ein Thema von PASST · begonnen am 28. Aug 2008 · letzter Beitrag vom 1. Sep 2008
Antwort Antwort
PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#1

Kalenderwoche Frankreich / Deutschland?

  Alt 28. Aug 2008, 15:45
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
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 28. Aug 2008, 16:43
Zitat aus der Delphi-Hilfe:
Zitat:
WeekOfTheYear verwendet die Wochendefinition des ISO-Standards 8601. Demzufolge beginnt eine Woche am Montag und endet mit dem Sonntag.
Damit gibt es nur zwei Möglichkeiten:
  1. Dein Kunde lässt seine Kalenderwochen am Montag beginnen
  2. Du ziehst von dem Ergebnis der Routine basierend auf dem aktuellen Wochentag ggf. 1 ab
Ich persönlich würde Option 1 favorisieren
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 28. Aug 2008, 17:22
Zitat von HeikoAdams:
Zitat aus der Delphi-Hilfe:
Zitat:
WeekOfTheYear verwendet die Wochendefinition des ISO-Standards 8601. Demzufolge beginnt eine Woche am Montag und endet mit dem Sonntag.
Damit gibt es nur zwei Möglichkeiten:
  1. Dein Kunde lässt seine Kalenderwochen am Montag beginnen
  2. Du ziehst von dem Ergebnis der Routine basierend auf dem aktuellen Wochentag ggf. 1 ab
Ich persönlich würde Option 1 favorisieren
Also ich würde ein Routine programmieren, wo man den Starttag selber festlegen kann

function WeekOfYear( const ADate : TDate; const StartDayOfWeek : integer = 0 ) : integer; Dann ist es egal und jeder kann es sich machen wie er will ... immer im Sinne des Kunden,
und gerade hier glaube ich, dass die Diskussion mit dem Kunden länger dauern würde, als den Code zu schreiben

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 29. Aug 2008, 14:54
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 ISO-Standards 8601 ausgehe, ist die Woche 1, in die mindestens vier Tage des neuen Jahres fallen.
Kennt jemand den Algorithmus?

gruß
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 29. Aug 2008, 15:51
Hier einmal die Funktion WeekOfYear:
Delphi-Quellcode:
 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;
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.

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 29. Aug 2008, 16:50
Vielen Dank, Sir Rufo.

Ich habe es inzwischen auf diese Weise gelöst.

Lyncht mich nicht, da ich das eigentlich für Excel suche, habe ich es mir entsprechend umgebaut
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#7

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 29. Aug 2008, 17:50
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...
  Mit Zitat antworten Zitat
PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 1. Sep 2008, 09:03
Das stimmt schon. Sollte das Geschäftsverhältnis erweitert werden, muss es perfekt gestaltet werden.
  Mit Zitat antworten Zitat
Benutzerbild von Billa
Billa

Registriert seit: 11. Aug 2003
237 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Kalenderwoche Frankreich / Deutschland?

  Alt 1. Sep 2008, 09:41
... 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.
Gruß Billa

Nur weil ich paranoid bin, heißt das nicht, daß die da draussen nicht hinter mir her sind....
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 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