Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]strtotime odejmowanie dni z timestamp
fr33d0m
post
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 4
Dołączył: 22.10.2010

Ostrzeżenie: (0%)
-----


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


Ten post edytował fr33d0m 6.07.2012, 13:40:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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? (IMG:style_emoticons/default/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ć?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 13:31