Autor Zpráva
VaKvas
Profil
Zdravím a prosím o radu.

Vám v db cas UTC "2016-04-20T12:50:25.83Z" a dle tohoto jej pottřebuju vypsat +2 nebo +1 hod dle locale a nedaří se..
locale mam nastavene v php spravně cz_CZ ...

Jak na to prosim?

Díky!
abc
Profil
A jak to zkoušíš?
$date = new \DateTime("2016-04-20T12:50:25.83Z");
$p1h = clone $date;//plus 1 hour
$p1h->add(new \DateInterval("PT1H"));
$p2h = clone $date;
$p2h->add(new \DateInterval("PT2H"));
var_dump($date);
var_dump($p1h);
var_dump($p2h);
Martin2
Profil *
abc:
Ale VaKvas chce vypsat čas podle daného pásma. Ne přičítat hodiny.

VaKvas:
Prostuduj si metodu DateTime::setTimezone.
VaKvas
Profil
Když použiju např.
gmdate('d.m.Y H:i', strtotime('2012-06-28 23:55') vrátí mě to 28.06.2012 21:55

To samé potřebuji když vytahnu z db hodnotu 2016-04-20T12:50:25.83Z aby mě vratila 2016-04-20T14:50:25.83Z ...
Martin2
Profil *
Prostuduj si objekt DateTime a přidružené, všechny ostatní způsoby práce s časem už jsou dnes zastaralé a špatné.

$date = new DateTime('2016-04-20T12:50:25.83Z');
echo $date->format('r');  // Wed, 20 Apr 2016 12:50:25 +0000
echo $date->setTimeZone(new DateTimeZone('Europe/Prague'))->format('r');  // Wed, 20 Apr 2016 14:50:25 +0200
VaKvas
Profil
Moc díky.. mrknu na to.

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