Autor Zpráva
gaminn
Profil *
Zdravím,
trochu si tady lámu hlavu s aplikací, která by si měla umět poradit se světovými časy a mám asi trochu stupidní dotaz, nevím, jestli mi někdo dokáže odpovědět: Je použití funkce date_default_timezone_set() (http://mirrors.inway.cz/manual/en/function.date-default-timezone-set. php) spolehlivé vzhledem k tak obrovské diferenci mezi přechody na zimní časy? Co jsem si přečetl o přechodech na zimní časy, je mnoho různých přechodů na tento čas, jedna země to má dejme tomu poslední neděli v říjnu ve 2 hod, jiná 3 sobotu v říjnu (ale nejpozději do 16. října) v 1 hodinu, v Izraeli nebo kde to bylo to mají určitý den mezi dvěma nějakými svátky......atd. Jak je zaručeno, že se uvedená funkce opravdu nezmýlí (ví to vůbec někdo?;)), jak tato funkce poznává, že v tom a tom časovém pásmu (která jsou mimochodem jmenována na http://mirrors.inway.cz/manual/en/timezones.php) dojde v určitý čas k posunu hodin, když je, jak jsem už říkal, tak obrovská diference mezi těmi posuny, každá země to má jinak a předpokládám, že třeba u toho zmiňovaného Izraele to nepůjde spočítat třeba kvůli tomu, že ty jejich svátky se řídí např. nějakými úplňky (podotýkám, že to nevím, ale mají to třeba jako u nás Velikonoce;), panebože, to jsou blbosti;)). Nebo má konfigurace PHP nadefinovány tyto časové posuny pevně až do určitého roku (co když budu používat stejné PHP i po tomto roku, kdy už nebudou posuny nadefinované)? Nebo to je úplně jinak?

No myslím, že málokdo se nad mými dotazy aspoň trochu nezasměje, ale chci v tom mít opravdu jasno, nemůžu si dovolit to navrhnout a pak přijít na to, že někde čas nesouhlasí...

Díky za každou odpověď na moji otázku
Pitt
Profil *
Hezky :))
Ja bych to udelal tak, ze by to bylo jenom pres php, ze by to vyhodilo nemenny cas a ne javaskritpem.. To je asi jasny, tak nevim, proc to pisu :)
Takze dal.. Ja sem v php jenom pokrocily, ale zatim jsem o zadnych definovanych uplncich atd neslysel :)) Ale to neznamena, ze si je nemuzes pridat treba do nejakyho textovyho souboru nebo do databaze na nekolik let dopredu a podle toho to bude hazet jednotlivy casy.. A jeste bych udelal pro kazdy cas jiny soubor a ten bych vkladal do stranky pomoci includu podle toho, jaky cas si uzivatel zrovna chce zobrazit..
Takze pokud si cetl neco o tech pasmech, tak to nebude tak velky problem.. Tak hodne stesti pri tvoreni :))
gaminn
Profil *
No právě jsem chtěl slyšet, jak to je uděláno ve funkcích pracujících s datem a časem. Zda to má PHP v konfiguraci opravdu na nějaký čas dopředu pevně nadefinováno, nebo si to nějak dopočítává (jestli to tedy vůbec nějak lze počítat). Tak mě napadá, že stejně to bude asi i u operačních systémů (Windows)...
Pitt
Profil *
Co bys ještě chtěl? :)) PHP je skvělý nástroj na snad úplně všechno. Chce to akorát myslet, tak se do toho pusť ať to radši uděláš a nepřemýšlej nad nějakýma ulehčeníma, který možná ani neexistují.. BTW mrkni na www.php.net

Pak mi písni, až to budeš mít :))
Pitt
Profil *
Hochu.. Nevim jestli ti to pomuze, ale nasel jsem tohle:

http://mirrors.inway.cz/manual/cs/ref.calendar.php
gaminn
Profil *
Nepřemýšlím nad ulehčeními, přemýšlím nad správnou funkcí...

Udělal jsem to tak, jak jsem zamýšlel, v databázi mám uložená všechna časová pásma, která PHP podporuje (např. Europe/Prague (viz http://mirrors.inway.cz/manual/en/timezones.php), je jich tuším kolem 500 - nejsou to časová pásma v pravém slova smyslu, při použití některých z nich samozřejmě dostaneš stejný čas, protože některá světová místa mají stejný čas (např. samozřejmě většina Evropy)), na stránce má uživatel na výběr ze zhruba 60 časových pásem typu "GMT +1 Praha, Berlín, Vídeň", která odkazují na jednoho zástupce časového pásma (tedy tento příklad odkazuje na Europe/Prague - stejně tak by mohl odkazovat na Europe/Berlin, Europe/Vienna atd.) Z databáze tedy získám řetězec (Europe/Prague), který použiju pro volání funkce date_default_timezone_set(). Toť vše, myslím, že na tom není mnoho co vymýšlet.

Lokalizace toho projektu je celkem podrobná, součástí je i databáze veškerých států, jazyků, kterými se mluví, potom samozřejmě tabulky provazující tyto součásti (ví se tedy, jakými jazyky se kde mluví, jaká časová pásma se používají v jaké zemi), program sám tedy vybere (pokud možno) správnou lokalizaci. Součástí je i překlad URL do různých jazyků (tedy soubor registration_form.php má v každém jazyce nějaký alias - registracni_formular.html v češtině apod....)....

Pokud má někdo nějaké zkušenosti s lokalizací, může se ozvat, rád se poučím;)
Toto téma je uzamčeno. Odpověď nelze zaslat.