2012-12-31 11 views

risposta

27
strtotime("first day of last month") 

Il first day of è la parte importante, come indicato alla pagina di manuale Relative Formats.


Esempio: http://codepad.viper-7.com/dB35q8 (con la data odierna hard-coded)

+0

Grazie. Molto fuorviante! Sembra che restituisca "1" o il giorno della settimana. – Martin

+0

@Martin Provalo e scopri –

+1

@Martin: 'strtotime' restituisce sempre un timestamp (o un falso in caso di errore). Quindi * restituirà * un timestamp del primo giorno dell'ultimo mese, ma dal momento che lo stai emettendo nel formato 'Y-m', va bene per te. – Travesty3

9

strtotime("-1 months") sarebbe 2012-11-31, ma non c'è Novembre 31. È passato il giorno 2012-11-30, che dà 2012-12-01. Lo vedrete, quando si fanno

echo date("Y-m-d", strtotime("-1 months")); 

dà come uscita

2012-12-01

Vedi codepad

+0

Grazie, questo lo spiega. – Martin

Problemi correlati