Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]strtotime odejmowanie dni z timestamp
Forum PHP.pl > Forum > Przedszkole
fr33d0m
W bazie mam kolumne: `dd` timestamp
Na podstawie czasu z kolumny timestamp, chcę porównać datę z serwera i w zależności od wyniku wyświetlić odpowiedni komunikat. Problem jest z poprawnym odjęciem jednego dnia z kolumny timestamp bo wyświetla się, zupełnie inny wynik niż powinien...
  1. //$row['dd'] == 2012-07-05 22:55:04
  2.  
  3. $timeDB = mktime($row['dd']);
  4. $OdjetaData = date('Y-m-d H:i:s',strtotime('-1 day', $timeDB));
  5.  
  6. //$timeDB == 1348771328
  7. //$OdjetaData == 2012-09-26 20:42:08 / powinno byc: 2012-07-04 22:55:04
IProSoft
  1. $timeDB = strtotime($row['dd']);
  2. echo date('Y-m-d H:i:s', strtotime('-1 day', $timeDB));
fr33d0m
Ten sam efekt... a na pewno konstrukcja jest poprawna? może to wina mojego XAMPA?

edit: nie do końca ten sam efekt:
echo zwraca: 1969-12-31 01:00:00
thek
Czyli w bazie w owej kolumnie masz NULL lub ją pustą. Czemu? Bo w timestamp najniższa wartość ( czyli 0 ) to 1 stycznia 1970 roku. Jeśli od tego odejmiesz ten dzień to co otrzymasz? wink.gif Ty lepiej sprawdź te dane, bo na bank wina jest nie po stronie skryptu. Może też być tak, że masz skopane coś z nazwą i PHP ustawia tam wartość pustą, potem konwertuje to do 0, a stąd do daty 1 stycznia 1970, oraz odejmuje 1 dzień.

EDIT: A czemu nie spróbujesz odjąć 1 dnia po stronie bazy (funkcje daty czasu w manualu zobacz sobie) i w php tylko porównać?
fr33d0m
timestamp w bazie mam wypełnioną datą i czasem - istnieją dane smile.gif
Wiem, że to dziwne... zanim zapytałem na forum przeglądałem google i pierwszą stronę wyników.
Hmm... skopane z nazwą? w sensie nadpisanie, którejś ze zmiennych? Też odpada.

Nie odejmuje z bazy 1)bo nie wiem jak, 2)ten sposób wydał mi się prostszy - jeśli nie uda się rozwiązać problemu to będę próbował odejmować z bazy.

Hmm... więc to wina XAMPA... już wcześniej kilka razy przy konkretnym INSERT wpuścił mi znak ' mimo, że filtrowałem.

Może jeszcze jakieś idee na rozwiązanie problemu?


Problem rozwiązany.
XAMPP Control Panel 2.3 [14. August, 2009] - działał błędnie - być może tylko moja indywidualna kompilacja, ponieważ mam ją zainstalowaną od ponad 2lat i sporo w php.ini grzebałem (chociaż to nie ma zbyt dużego znaczenia).
Przeinstalowałem na: XAMPP Control Panel Version 2.5 (16. March, 2011) i podany powyżej przykład pięknie hula. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.