Php - obliczanie różnicy czasu wczytywanego z bazy danych


(czeper) #1

W trakcie pisania kodu w php natrafiłem na problem w zapisywaniu i obliczaniu czasu. W bazie danych mysql mam kolumnę typu timestamp i zapisuję datę ręcznie (insert) np tak:

$date='2016-02-10 20:00:00'

. W php wczytuję wiersz z bazy danych w postaci tablicy asocjacyjnej, po czym zamieniam na sekundy funkcją strtotime(). Chcąc obliczyć różnicę aktualnego czasu i wczytanego z bazy robię tak: 

time()-strtotime($date)

Jednak  wyświetlają mi sie kosmiczne liczby, często z minusem, nawet gdy obliczam różnicę dat: 2016-02-10 20:00:00 i 2016-02-10 20:01:00. Nie mam pewności jak poprawnie zapisywać daty w bazie (interesuje mnie unix timestamp - data i czas przeliczona na sekundy, w takiej formie chciałbym mieć w bazie danych i tak wczytywać do php), dlatego proszę o wskazówki.


(Drobok) #2
$d = new DateTime($date);
echo $d->getTimestamp();