Autor | Zpráva | ||
---|---|---|---|
gaminn Profil * |
#1 · Zasláno: 2. 1. 2006, 22:53:54
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 * |
#2 · Zasláno: 3. 1. 2006, 07:23:01
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 * |
#3 · Zasláno: 3. 1. 2006, 16:36:41
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 * |
#4 · Zasláno: 5. 1. 2006, 06:12:11
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 :)) |
||
Časová prodleva: 7 dní
|
|||
Pitt Profil * |
#5 · Zasláno: 11. 1. 2006, 21:21:35
Hochu.. Nevim jestli ti to pomuze, ale nasel jsem tohle:
http://mirrors.inway.cz/manual/cs/ref.calendar.php |
||
gaminn Profil * |
#6 · Zasláno: 12. 1. 2006, 20:16:00
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;) |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0