Autor | Zpráva | ||
---|---|---|---|
Giga Profil * |
#1 · Zasláno: 5. 6. 2009, 13:55:46
Mám databázu udalostí (astronomických), u ktorých je pomerne dôležitý údaj o čase.
Riešim problém, ako informovať o udalostich - ako uvádzať čas. Pre mňa je pohodlnejšie nič neriešiť a uvádzať SEČ. Pre užívateľov je výhodnejší občiansky čas. Teda cez leto LSEČ a v zime SEČ. Máte skúsenosti s podobným problémom? Ako ste to riešili? Podporuje PHP nejakým spôsobom prepočet na DST? (povedzme niečo take, že by bola funkcia ktora by podľa dátumu a času v UTC pripočítala, resp. nepripočítala jednu hodinu...) |
||
Joker Profil |
#2 · Zasláno: 5. 6. 2009, 14:46:47
Giga
A v čem je přesně problém? Pokud se čas ukládá do databáze, měl by být uložený v časovém formátu a ten se pak dá konvertovat jak je libo. Jinak je možné uložit timestamp a ten si pak také zkonvertovat jak je libo. |
||
Giga Profil * |
#3 · Zasláno: 5. 6. 2009, 15:00:17
No tak s timestamp to nie je take jednoduché, pretože konverzia na "čitateľný" dátum a čas je závislá na nastevení servera a tak čo si doma odladím a posuniem niekam do sveta tak dostanem rôzne výsledky.
|
||
AM Profil * |
#4 · Zasláno: 5. 6. 2009, 15:05:35
Časové pásmo by mělo jít sladit přes http://cz.php.net/date_default_timezone_set, dokonce když máš zapnutý E_STRICT, hází to upozornění, že bys tuto funkci měl použít, než použiješ funkce pro datum.
Jinak bych se držel vestavěných PHP funkcí a nedělal žádné vlastní přepočty, pokud vím, tak jsou tyto funkce přesné a počítají i s letním časem. |
||
Giga Profil * |
#5 · Zasláno: 5. 6. 2009, 15:07:47
aby som bol presný, doma si napíšem:
$Tim = 1244206169; $T = Date("Y-m-d H:i:s",$Tim); echo "<br>$T"; a vypadne: 2009-06-05 14:49:29 zatiaľ čo na serveri ten istý kód vyhodí: 2009-06-05 13:49:29 |
||
Giga Profil * |
#6 · Zasláno: 5. 6. 2009, 15:09:19
a zabudol som - to doma platí aj pre hosting na Slovensku, zatiaľ čo zahraničný hosting dá o hodinu menej.
|
||
Časová prodleva: 15 let
|
0