Jiné datum v různých latte šablonách

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
tomasnikl
Člen | 137
+
0
-

Ahoj,

narazil jsem na zahadny problem. V databazi si ukladam u kazdeho zaznamu cas vytvoreni (1326668400). Kdyz tento cas vypisi v latte sablone na webu takto:

// $item->date je 1326668400
{$item->date|date:'%d. %m. %Y'}

tak mi to vypise: 16. 01. 2012 coz je v poradku. Kdyz ovsem chci zaslat email a sablone emailu predam cely objekt $item, tak uplne stejnym zpusobem vypisuji datum i v emailove sablone. Email mi prijde, ale datum tam je 15. 01. 2012, tedy o den mene nez na webu. Zkousel jsem tedy vypsat jen:

{$item->date}

a zajimave je, ze jak na webu, tak v emailu to vypise 1326668400 (tedy to, co je ulozeno v databazi).

Jak je mozne, ze cas se v emailu prevede na 15.1. a na webu na 16.1.?

V config.neon mam jeste toto:

common:
	php:
		date.timezone: Europe/Prague

ps. pred chvili jsme zjistil, ze stejny problem je i v generovani do PDF. Pro generovani do PDF pouzivam mpdf a opet samostatnou latte sablonu. Teto sablone predam datum a stejnym zpusobem ho prevedu na citelny format. A opet, v PDFku je datum o jeden den mensi nez na webu. zajimave :o)

Nevite nekdo cim to muze byt?

David Grudl
Nette Core | 8228
+
0
-

Je skutečně v obou případech nastavená stejná timezone?

tomasnikl
Člen | 137
+
0
-

Ano mela by byt, nevim o tom ze bych ji nastavoval jeste nekde jinde nez v config.neon. Leda, ze by pri odesilani emailu nette ignorovalo timezone, kterou mam nastavenou v config.neon, ale to se mi opravdu nezda… Cim to je netusim, ale ten denni posun se projevuje jen v emailech, nikde jinde ne. Pritom je to stejny modul aplikace.

Jak to presne funguje netusim, takze mozna placam, ale co me napadlo je nejake nastaveni na mail serveru na mem VPS, ktere konfiguraci v nette prebije.