środa, 25 lipca 2007

Locale

Z locale są zawsze zajebiste problemy. Czasem java potrafi zmienić definicję locale razem z wersją (i wtedy działanie programu zależy od wersji JVM...), czasem sam OS potrafi mieć dziwne zdanie co do metody parsowania dat. Napisałem program który się naciął na obie opcje...

Najpierw o drugim.


Są programy które powinny się stosować do dziwactw OS, oraz takie które tego nie powinny robić.

Programy których użytkownik jest jednocześnie użytkownikiem komputera (w przypadku XP raczej jego 'administratorem', w przypadku linuksa starczy własne konto) powinny stosować się od widzimisie OS, bowiem zakładają one że widzimisie OS są widzimisiami usera programu.

Natomiast jeśli zakładamy że program będzie użytkowany przez ludzi 'z ulicy' powinny być agnostycznymi względem locale systemowego, i posiadać własne. Takie powinny być wszystkie programy w kafejkach internetowych, programy z serii PortableApps itp. Mój program do zarządzania magazynem Harcerskim powinien być też taki - bo generalnie na obozy jadą komputery prywatne (mało który szczep stać na zakup komputera szczepowego).

Mój program naciął się na locale w ten sposób że po drodze było wywołanie public static Locale Locale.getLocale(). A właściciel komputera (Jula) miała ustawiony format daty MM/DD/YY.

Co do pierwszego...



To radą jest napisanie własnej biblioteki do parsowania liczb i dat...

Nie wiem dlaczego ale nawet po zamienieniu locale na PL ciągle daty m,iały być postaci MM/DD/YY. Więc strzeliłem sobie własną klasę do obsługi dat. W takich wypadkach ogólnie najlepiej na własną rękę parsować co trzeba parsować.

Reklama:

Zachęcam do zajrzenia na: http://fizolof.blogspot.com/

Moja strona domowa zmieniła adres: http://jbhome.wikidot.com/

Ta strona nie będzie już updejtowana. Blog został przeniesiony na: http://jbhome.wikidot.com/blog:start

Blog: