Diskuze: Class DateTime a unixt čas Europe/Prague
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Nie je to celkom pravda ze to nefunguje. V dokumentacii php pre DateTime http://php.net/…onstruct.php je poznamka:
Note:
The $timezone parameter and the current timezone are ignored when the $time parameter either is a UNIX timestamp (e.g. @946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).
Co vlastne znamena ze timezone bude ignorovane ked time parameter obsahuje informaciu o timezone alebo sa jedna o UNIX timestamp. Unix timestamp sa pocita v UTC. V tvojom pripade si prevadzal UNIX timestamp, ktory uz obsahuje informaciu o timezone a teda sa spravne ignoroval tvoj timezone paramater.
Nakoniec si to ale vyriesil spravne.
Ahoj,
no.. když ho ignoruje, to znamená, že tím pádem si nemůžeš nastavit při vytváření jinou časovou zónu než je UTC ('Europe/London'), což jsem napsal.
A pokud chce člověk jinou časovou zónu, napsal jsem postup. Nevidím nesrovnalost, ale potvrzení z dokumentace
Ale díky za upřesnění ...
Pavel
Ako mkub spomenul, UNIX timestamp su sekundy od zaciatku roku 1970 a to v UTC timezone. Tym padom UNIX timestamp uz ma nastavenu timezonu (UTC) a preto pri vytvarani objektu DateTime sa neprihliada na druhy argument, pretoze ten prvy argument uz obsahuje informaciu o timestampe.Takze ty ked nastavujes v druhom riadku timezonu, tak ten cas nemenis, len ho prepocitas z UTC do ineho (v tvojom pripade "Europe/Prague")
pane Bože,
vím co je UNIXTime čas ...
Já tu chcel jen napsat, že nelze nastavit při vytváření času v tomto formatu DateTimeZone přímo jako u ostatních a aby si na to ostatní dali pozor, jelikož mě to vypeklo a dlouho mě to trvalo, než sem přišel na to proč. Ne tu diskutovat o nesmyslech..
Pavel
Zobrazeno 6 zpráv z 6.