2012-05-29 12 views
19

Próbuję użyć funkcji daty PHP, aby uzyskać datę 7 dni wcześniej w formacie RRRR-MM-DD.PHP Data Funkcja Siedem dni poprzednia

date('Y-m-d'); 

gdy próbuję

date('Y-m-d-7'); 

pojawia się błąd

+0

użyć 'datę ('YM-d', strtodate ('- 7 dni'))' – Gavin

+0

@Gavin połączeń do niezdefiniowanej funkcji strtodate() –

+2

Funkcja to ['strtotime'] (http://uk3.php.net/manual/en/function.strtotime.php). – lonesomeday

Odpowiedz

62

Użyj metody strtotime dostarczonej przez PHP.

date('Y-m-d', strtotime('-7 days'))

Dzięki @lonesomeday za wskazanie, mój błąd w komentarzach;)

+0

Jak to zrobić z godzinami minuty i sekundy też ... Nie mogę tego zrobić z "Ymd H: i: s" – Matthew

+0

hej @Matthew - następujące działa dobrze dla mnie 'echo date ('Ymd H: i: s ', strtotime (' - 7 days ')); 'return' 2017-01-02 08: 37: 51' - co otrzymałeś? – Gavin

+0

Gavin, dziękuję, udało mi się. Nie wiem, co robiłem źle, nawet nie pamiętam. Doceniam twoje potwierdzenie. Dziękuję Ci. – Matthew

19

z tym, jak ze wszystkimi data PHP rzeczy, to ładniejszy użyć klasy DateTime.

$date = new DateTime('7 days ago'); 
echo $date->format('Y-m-d'); 
+0

czy jest jakiś sposób, że nie robię tego w jednym wierszu? ponieważ wstawiam to w zapytaniu –

+0

Więc w jakie zapytanie wstawiasz? SQL? – iiro

+0

nie. Wywołanie funkcji API Google Analytics –