2012-05-29 11 views
19

Sto tentando di utilizzare la funzione Data di PHP per ottenere la data di 7 giorni prima nel formato AAAA-MM-GG.PHP Data Funzione Sette giorni precedenti

date('Y-m-d'); 

quando provo

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

ottengo un errore

+0

uso 'date ('Ym-d', strtodate ('- 7 giorni'))' – Gavin

+0

@Gavin Chiamata a funzione indefinita strtodate() –

+2

La funzione è ['strtotime'] (http://uk3.php.net/manual/en/function.strtotime.php). – lonesomeday

risposta

62

Utilizzare il metodo strtotime fornito da PHP.

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

Grazie a @lonesomeday per aver ricordato il mio errore nei commenti;)

+0

Come si ottiene con le ore minuti e anche i secondi ... Non riesco a farlo funzionare con 'Ymd H: i: s' – Matthew

+0

hey @Matthew - il seguente ha funzionato bene per me 'echo date (' Ymd H: i: s ', strtotime (' - 7 giorni ')); 'return' 2017-01-02 08: 37: 51' - cosa stavi ottenendo? – Gavin

+0

Gavin, grazie, l'ho fatto funzionare. Non so cosa stavo facendo male, non riesco nemmeno a ricordare. Apprezzo che tu lo abbia confermato. Grazie. – Matthew

19

Con questo, come in tutte le cose della data di PHP, è più bello di utilizzare la classe DateTime.

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

c'è un modo per non farlo in una riga? dal momento che sto inserendolo in una query –

+0

Quindi in quale query lo stai inserendo? SQL? – iiro

+0

no. Chiamare l'API di Google Analytics –