Formát výpisu datumu po načtení z DB
- kejlicz
- Člen | 201
Ahoj všichni.
Mám v DB uložené datum ve sloupečku s formátem date, např. „2015–02–16“. Pokud ho ale přes NTDB načtu a chci s ním pracovat v podmínkách, záznam je ve formátu „2015–02–16 00:00:00“.
Je to normální? Když je to v DB jako date, tak proč to tam dává ten čas. Já potom musím dělat něco takového
$date = new \Datetime($result->date);
echo $date->format("Y-m-d");
abych mohl data použít např. při porovnání v podmínce.
Jde toto chování vypnout, aby to vracelo bez toho času?
Díky
Martin Kejzlar
Editoval kejlicz (16. 2. 2015 0:25)
- pavelmlejnek
- Člen | 16
Odpověď na to, zda je to normální je zde: https://github.com/…esultSet.php#L172
A bohužel si myslím že se to nijak obejít nedá.
- h4kuna
- Backer | 740
Jde to obejít obal sloupeček pomocí CONCAT() :) tím to přetypuješ na string a nette ti z toho neudělá Datetime. Ikdyž nevím jestli je to potřeba Datetime umí spousty operací a taky právě ve formátování výstupu máš volnost. Pokud potřebuješ něco porovnávat tak jetli se nevyplatí z toho druhého zdroje udělat objekt Datetime?
EDIT
Ono jde porovnávat objekty
<?php
echo new Datetime('2015-02-14') < new Datetime('2015-02-15') // true
?>
Editoval h4kuna (16. 2. 2015 8:22)