Autor Zpráva
fjf
Profil
ahojte, rad by som dosiahol zobrazovanie casu na webe podla uzivatelom zvoleneho casoveho pasma. kedze je to pre mna uplna novinka, rad by som vedel, ci mam o tom dobru predstavu. takze:

UKLADANIE:
cas do databazy ulozit funkciou gmdate

VYPIS:
A. nastavit date_default_timezone_set
B. vypis cau funkciami date(..., gmmktime(...))

ak je to spravne, mam este podotazky:
1. date_default_timezone_set treba nastavovat na kazdej stranke, alebo staci raz, az kym uzivatel web neopusti?
2. ked pri vypise v gmmktime ponecham nastavenie letneho casu prazdne, zvladne php na zaklade zadanej casovej zony a casu v databaze (ulozeneho gmdate) doplnit spravny casovy posun?

dakujem za odpoved
Majkl578
Profil
Nejjednodušší bys to asi měl, kdybys v databázi měl jednotný čas (tj. třeba naši timezone - Europe/Prague) a při výpisu jednotlivým uživatelům vypisoval formát jaký chtějí oni.

date_default_timezone_set('Europe/Prague'); // naše zóna, lepší nespoléhat na údaj v php.ini

$date = new DateTime;
var_dump($date->format('Y-m-d H:i:s')); // lokální čas, ukládat do DB

//---------------

$dbTime = '2011-08-14 15:50:20'; // něco takového vytáhneš z databáze

$date = new DateTime($dbTime);
var_dump($date->format('d.m.Y H:i:s')); // správný čas pro naši timezone

// změna timezone, např. pro člověka co si nastaví austrálii
$date->setTimezone(new DateTimeZone('Australia/Sydney'));
var_dump($date->format('d.m.Y H:i:s')); // správný čas pro uživatele, tj. o 8 hodin víc
fjf
Profil
Majkl578:
asi nerozumiem, v com je to tvoje jednoduchsie

Nejjednodušší bys to asi měl, kdybys v databázi měl jednotný čas - ved to mi predsa zabezpeci aj gmdate.

date_default_timezone_set('Europe/Prague');
new DateTimeZone('Australia/Sydney');

ja nahradim jednym krokom:
date_default_timezone_set(podla volby uzivatela);

Hm?

P.S.: Nahodou by si nevedel odpovedat aj na tie 2 polozene otazky?
fjf
Profil
1. date_default_timezone_set treba nastavovat na kazdej stranke, alebo staci raz, az kym uzivatel web neopusti?

ak to spravne chapem, tak je to potrebne na kazdej stranke... (aspon mne to tak vychadza v mojom pokuse) :-)

pripadne v .htaccess http://fanwebs.info/nastaveni-casoveho-pasma-v-php/, pre tych co to nechcu menit
fjf
Profil
Existuje nejaky mysql-import subor, pre natiahnutie zoznamu podporovanych casovych pasiem do databazy?

www.php.net/manual/en/timezones.php - mam na mysli tento zoznam

Aby som to dal ludom na vyber...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0