Formátování času přes helpery

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

Ahoj, nemůžu se nikde dohledat jak zformátovat time v latte. V databázi mám např: 9:00:00 a latte mi to vypíše jako 2013–08–09 9:00:00. Nevím proč to tak je, ale kdyby mi někdo prosím poradil jak z toho udělat pouze 9:00

Předem díky
Míra

Michal Vyšinský
Člen | 608
+
0
-

Helper date
Pro tvůj formát konrétně:

{$date|date:"H:i:s"} nebo {$date|date:"G:i:s"} pokud nechceš u hodiny počáteční nulu

Editoval CherryBoss (9. 8. 2013 9:26)

Miri
Člen | 117
+
0
-

Díky moc :-)

oskarmaniak
Člen | 29
+
0
-

Přešel jsem z Nette 2.0. na 2.2. a tento zmiňovaný helper který mi vypisoval jen hodiny a minuty přestal fungovat. V dokumentaci o tom nemohu nic najít. Může někdo prosím poradit?
V šabloně mám:

{$lastalert->from|date:'G:i'}

Vypisovalo to čas například 21:15

Nyní to vypisuje jen:

G:i
voda
Člen | 561
+
0
-

A proměnná $lastalert je jakého typu? Není to DateInterval (v db sloupec typu time)? DateInterval má jiný zápis formátu.

Šaman
Člen | 2666
+
0
-

Teď jsem to zkoušel v 2.2 a funguje. Ujisti se, co vrací $lastalert->from, měla by to být instance DateTime. (Funguje samozřejmě i \Nette\DateTime.)

{? $time = new DateTime}
{$time|date:'G:i'}

Vypíše: 10:57

Editoval Šaman (24. 6. 2014 10:59)

oskarmaniak
Člen | 29
+
0
-

voda:
Přesně tak v db je time jelikož pracuji jen s časem.
A přesto v nette 2 to fungovalo ale od 2.2 tudíž jediné řešení je buďto převádět time na datetime a pak vypisovat nebo to v DB ukládat jako datetime a vynechat time?

Hurass
Člen | 114
+
0
-

Zkus použít toto:

{$lastalert->from|date:'%H:%M'}

Nebo koukni zde.

Editoval Hurass (25. 6. 2014 13:45)

Blaueminence
Člen | 31
+
0
-

Hurass napsal(a):

Zkus použít toto:

{$lastalert->from|date:'%H:%M'}

Nebo koukni zde.

Tohle mi pro všechny minuty vypisuje 00 (hodiny to dává správně), bez ohledu na hodnotu.

Jan Endel
Člen | 1016
+
0
-

Protože správný způsob je

{$lastalert->from|date:'H:i'}