Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
poroloon
HV kasutaja

liitunud: 25.07.2010
|
01.04.2011 14:51:11
php ajavööndiga (timezone) jama |
|
|
panin kodukale valiku et kõikjalt maailmast saaks igaüks näha kodulehe sissekannete kellaaegasid oma kohaliku aja järgi.
date_default_timezone_set("Europe/Tallinn");
Toimib. Proovisin mitut linna nagu Vienna, London, Paris -- toimib.
Aga probleem tekkis, kui tahtsin proovida America/New_York või Asia/Manila.
Esimene annab Eesti kell 2:40pm ajal 9:40pm!
Teine annab samal ajal 9:40am!
Tokyo annab 8:40am!
Miks ta kõik negatiivseks muudab?!
|
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
03.04.2011 01:45:18
|
|
|
E: minu paha. Järgminekord loen täpsemalt
Ära pikka viha pea.
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
viimati muutis Redikate 03.04.2011 20:54:26, muudetud 1 kord |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
poroloon
HV kasutaja

liitunud: 25.07.2010
|
03.04.2011 10:02:05
|
|
|
Redikate kirjutas: |
Sellepärast et New York ja Manila on erinevates maailma otsates? |
Naljamees krt!
Loe uuesti üle, milles probleem on. Kui ma vaatan õiget ajavööndite tabelit ja kellaaegu, siis on NY meist 7 tundi taga ja Hong Kong hetkel meist 5 tundi ees! Aga PHP annab mulle tulemuse, nagu oleks NY 7 tundi ees ja HK oleks 5 tundi taga!
|
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
03.04.2011 10:27:55
|
|
|
poroloon, näitad koodi millega proovisid?
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
poroloon
HV kasutaja

liitunud: 25.07.2010
|
03.04.2011 13:10:04
|
|
|
mikk36 kirjutas: |
poroloon, näitad koodi millega proovisid? |
Kõigepealt valitakse ajavöönd sellise koodiga:
<select id="timezone" name="timezone">
<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
foreach($timezone_identifiers as $value)
{
if(preg_match('/^(America|Antartica|Arctic|Asia|Atlantic|Europe|Indian|Pacific)\//', $value))
{
$value2 = str_replace("_"," ",$value);
echo '<option value="'.$value.'">'.str_replace("/"," » ",$value2).'</option>';
}
}
?>
</select> |
Valin "Europe >> Tallinn", see annab läbi selle koodi andmebaasi sisestamiseks (db koodi pole siin praegu) näiteks "Europe/Tallinn" jne.
Ja kõik see siis pannakse kehtima sellega:
date_default_timezone_set(stripslashes($arr["timezone"]));
$arr["timezone"] võetakse andmebaasist sinna varem ülaltoodud koodiga sisestatud väärtus, näiteks kasvõi "Asia/Hong_Kong" vms.
Tulemus peaks siis olema nagu need:
date_default_timezone_set(stripslashes("Europe/Tallinn"));
date_default_timezone_set(stripslashes("Asia/Hong_Kong"));
Kuid miskipärast tulemus on selline, et Hong Kong on meist 5 tundi TAGA.
|
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
03.04.2011 13:51:26
|
|
|
php:
|
echo date_default_timezone_get (). "\n"; date_default_timezone_set("Asia/Hong_Kong"); echo date_default_timezone_get (). "\n";
|
Annab tulemuseks:
Europe/Tallinn
2011.04.03 13:50:37
Asia/Hong_Kong
2011.04.03 18:50:37 |
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
poroloon
HV kasutaja

liitunud: 25.07.2010
|
03.04.2011 17:53:01
|
|
|
mikk36 kirjutas: |
Annab tulemuseks:
Europe/Tallinn
2011.04.03 13:50:37
Asia/Hong_Kong
2011.04.03 18:50:37 |
|
Sel juhul peab midagi valesti olema minu serveris, sest mul annab Hong Kong hetkel tulemuseks 12:50 (Eesti aeg sel hetkel oli 17:50)
Täpselt valepidi.
|
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
03.04.2011 17:53:34
|
|
|
Samad käsud samas järjekorras annavad vale tulemuse?
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
poroloon
HV kasutaja

liitunud: 25.07.2010
|
04.04.2011 10:59:05
|
|
|
jah, oli valesti.
Millegipärast nüüd muutus õigeks, kui olin vanema php.ini (varukoopia) taastanud... imelik.
|
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|