DateTime – chybné datum z databáze

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

Zdravím. Mám problém při čtení datumu z MySQL databáze. Sloupec typu datetime obsahuje ‚0000–00–00 00:00:00‘, ale vrácený objekt Nette\DateTime obsahuje ‚-0001–11–30 00:00:00‘.

Zajímalo by mě proč, zda to je správné chování. Vyplněné datum to vrací dobře. Jak testovat sloupec datetime na nevyplněnou hodnotu.. ?

David Matějka
Moderator | 6445
+
0
-

trosku googleni a vypada to na chybku php
nejlepsi by bylo, kdyby to nette overovalo nekde v activerow..

ted bych to vyresil asi takhle:

$zeroDate = new \Nette\DateTime("0000-00-00 00:00:00");

if($row->date==$zeroDate){
//....
}
llook
Člen | 407
+
0
-

V našem kalendáři nikdy nemůže být nultý den nultého měsíce. Správnější chování by asi bylo vyhodit chybu, nevím proč PHP vytvoří takovýhle WTF. Každopádně pro nevyplněnou hodnotu se používá NULL.