Mate pravdu, ze jsem se ponekud unahlil s tim kusem zdrojaku, takze presneji
receno stoji problem takto:
a) pripad pro cs_CZ:
Calendar.getInstance(new Locale("cs", "CZ", "")).getFirstDayOfWeek()
vraci 2, coz je Calendar.MONDAY. To je spravne.
b) pripad pro sk_SK:
Calendar.getInstance(new Locale("sk", "SK", "")).getFirstDayOfWeek()
vrati 1, coz je Calendar.SUNDAY, to je spatne.
Nakonec jsem to vystopoval ve zdrojacich JDKcka. Klicova je trida
sun.text.resources.LocaleElements (potomek ListResourceBundle), ktera je
dale specializovana podle jednotlivych locale. Zatimco LocaleElements_cs_CZ
predefinovavaji klic "DateTimeElements" (ktery jako prvni polozku obsahuje
firstDayOfWeek), tak ani LocaleElements_sk_SK, ani LocaleElements_sk tak
necini, takze se vezme "anglicky" default z LocaleElements, coz da za
vysledek nedeli.
Cili ja myslim, ze je to bug v JDK. No nic, co bychom si pocali nebyt bugu,
ze. ;-)
Roman
----- Original Message -----
From: "Oto Buchta" <[EMAIL PROTECTED]>
To: "Java" <[email protected]>
Sent: Thursday, July 07, 2005 12:19 AM
Subject: Re: "firstDayOfWeek" v locale sk_SK
On Wednesday 06 of July 2005 20:09, Roman Kratochvil wrote:
Zdravim,
mozna je to nejaky znamy bug, ale nevite, proc mi
new Locale("sk", "SK", "").getFirstDayOfWeek()
vraci 1, to jest nedeli? Myslim, ze by to malo vracat taky akoze
pondelok, hej?
Musim se priznat, ze jsem si to musel vyzkouset (jinak ta metoda je v
java.util. Calendar). Na prvni pohled to vypadalo jako chybna interpretace
indexu, nebot "preci dny v tydnu jsou indexovany od nuly", coz v Jave neni
pravda.
Po drobnem hledani jsem zjistil, ze pro Locale("sk") je vracena jednicka,
kdezto pro Locale("cs") je vracena dvojka. Takze to opravdu tipuju but na
chybicku pekne vleklou, nebot se to chova stejne i pod Linuxem s JDK 1.5,
nebo na spatne pouzity retezec.
--
Oto 'tapik' Buchta, [EMAIL PROTECTED]
QA Engineer, Systinet Corp,
http://www.systinet.com