2012-12-31 29 views

Odpowiedz

27
strtotime("first day of last month") 

first day of jest ważną częścią w sposób opisany na stronie Relative Formats ręcznego.


Przykład: http://codepad.viper-7.com/dB35q8 (z zakodowane w dniu dzisiejszym)

+0

Dzięki. Bardzo mylące! Wygląda na to, że zwróci "1" lub dzień powszedni. – Martin

+0

@Martin Wypróbuj i dowiedz się –

+1

@Martin: 'strtotime' zawsze zwraca znacznik czasu (lub fałsz w przypadku awarii). Tak więc * zwróci * znacznik czasu pierwszego dnia ostatniego miesiąca, ale ponieważ wyprowadzasz go w formacie 'Y-m', jest to w porządku dla ciebie. – Travesty3

9

strtotime("-1 months") byłoby 2012-11-31, ale nie ma listopada, 31. To jest jeden dzień po 2012-11-30, który daje 2012-12-01. widać to, gdy robisz

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

daje na wyjściu

2012-12-01

Zobacz codepad

+0

Dzięki, to wyjaśnia. – Martin