Automaticke prevádzanie datetime z UTC do lokalnej timezony
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- erzzo
- Člen | 49
Zdravím,
po updatnutí Nette verzie na 2.1. mi prestalo fungovať prevádzanie dátumov
do lokálej timezony (Nepoužíva sa už funkcia, ktorá je nižšie). Do DB
stále ukladám datetime v UTC, pri vyťahovaní som ho prevázdal do lokálnej
timezony. Vytvoril som vlastný Database Context a tak isto vytvoril ResultSet
v ktorom sa to prevázdalo:
public function normalizeRow($row)
{
...
} elseif ($type === IReflection::FIELD_DATETIME || $type === IReflection::FIELD_DATE || $type === IReflection::FIELD_TIME) {
// original time in UTC
$row[$key] = new \Nette\DateTime($value, $utcTimezone);
// convert from UTC to user's timezone (set in BasePresenter)
$row[$key]->setTimezone($userTimezone);
} else if...
Lenže ako som spomínal, tak to už nefunguje. Teraz bolo treba rozšíriť Database\Connection, ale mám s tým dosť problémy (riešim error po errore). Nie je nejaký jednoduchý(jednoduchší) spôsob na to ? alebo ako take veci riešite ? diki pekne za odpovede