Sonstiges > Offtopic

Kalenderwochen. Was ist der übliche Standard?

(1/2) > >>

Axel_Janssen:
Hi,

es scheint für Kalenderwochen-Berechnung unterschiedliche Standards zu geben.

Ich zitiere aus Anton Tauschers Script-Library:

--- Zitat ---' # Wochenbeginn ist Montag ...
' # ... Modus    =    0 = ISO - 1. Kalenderwoche ist die Woche mit dem ersten Donnerstag im neuen Jahr
' # ...             =    1 = 1. Kalenderwoche ist die Woche mit dem 1. Januar, also absolut
' # ...              =    2 = US = Wochenbeginn ist Sonntag , 1. Kalenderwoche ist die Woche mit dem ersten Mittwoch im neuen Jahr
' #                Jahresbeginn liegt an einem Samstag oder Sonntag
' # ...            =    3 = Das Wochenende wird berücksichtigt

--- Ende Zitat ---

Intuitiv würde ich Option "1" wählen: 1. Kalenderwoche ist die Woche mit dem 1. Januar, also absolut.
Oder ist der ISO-Standard gebräuchlich (1. KW ist die Woche mit dem 1. Donnerstag im Monat) ?

Oder hat da jede Firma ihre eigenen Richtlinien?

Werd dafür Antons praktische Script-Library benutzen und für die Java-Implementierung dann etwas paralleles basteln.
[am_rande]
Ich hab java.util.GregorianCalendar noch nicht drauf getestet, aber ich tippe es implementiert den US-default. Internationalisiert scheint die Methode calendar.get(Calendar.WEEK_OF_YEAR)); nicht zu sein. Es läßt sich aber leicht anpassen.  
[/am_rande]

Kann die Einstellung in einem Konfigurationsdokument zentralisieren, aber was nehme ich als default-Wert? Also was ist das übliche Schema für die Berechnung?  

Gruß Axel

wflamme:
MW: Westeuropa=ISO
Osteuropa sieht's aber zT (noch) anders aus.

Axel_Janssen:

--- Zitat von: wflamme am 15.08.03 - 01:27:57 ---MW: Westeuropa=ISO
Osteuropa sieht's aber zT (noch) anders aus.

--- Ende Zitat ---

d.h. eine Woche mit  
Mo, 30.12.2001, Di, 31.12.2001, Mi 1.1.2002, etc.
wird für das Jahr 2001 als Kalenderwoche 1 gewertet?

java.util.GregorianCalendar ohne die Logik der Wochennummerierung anzurühren behauptet das auch. Mir persönlich kommt das komisch vor.
Dann gibt es nämlich für das Jahr 2001 zwei KWs mit der Nummer 1.  ???

wflamme:
Also nach meinem Kalender war der 31.12.2001 ein *Montag*.

Nochmal: Die Logik hinter der Sache ist die, daß die 1.KW die ist, die mehr als die Hälfte (also mind. 4 Tage) im neuen Jahr hat; gewissermaßen schwerpunktsmäßig ins neue Jahr fällt.

Das war in dieser Woche tatsächlich der Fall. Nur wie kommst Du auf 'zweimal 1.KW'? Von wann bis wann dauerte die andere 1.KW und warum?

Axel_Janssen:

--- Zitat von: wflamme am 21.08.03 - 00:55:52 ---Also nach meinem Kalender war der 31.12.2001 ein *Montag*.

--- Ende Zitat ---
Das waren nicht-reale Daten als hypothetisches Beispiel.  ;D


--- Zitat von: wflamme am 21.08.03 - 00:55:52 ---Nochmal: Die Logik hinter der Sache ist die, daß die 1.KW die ist, die mehr als die Hälfte (also mind. 4 Tage) im neuen Jahr hat; gewissermaßen schwerpunktsmäßig ins neue Jahr fällt.

Das war in dieser Woche tatsächlich der Fall. Nur wie kommst Du auf 'zweimal 1.KW'? Von wann bis wann dauerte die andere 1.KW und warum?

--- Ende Zitat ---

Ich hab das in einem Programm jetzt erst einmal so realisiert, daß z.B. die 53. Arbeits-KW 2001 vom Mo, 31.12. bis Mo, 31.12. geht. Und die 1. KW 2002 vom Di, 1.1. bis Fr, 4.1.
KWs sind also fortlaufend über Jahreswechsel. Das habe ich nicht bedacht.

Wenn ich den 31.12.2001 mit java.util.GregorrianCalendar.get(Calendar.WEEK_OF_YEAR) abfrage, bekomme ich 1. Wenn ich den 1.1.2001 genauso abfrage bekomme ich auch 1. Das hat mich ein wenig verwundert.

Werd die Programm-Logik jedenfalls auf die ISO-Norm bringen.  :-\ (gähn)

Gruß Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln