月末にstrtotime("-1 month")したのに、今月になる

2011/10/31にチェックしたら2011/10/1って返ってきた。おいおい。
ただの-30日関数なのか?


試しにstrtotime("0 month")ってやってみたら、2011-10-31だって。
タイムゾーンの問題じゃなさそう。PHP4なのが悪いのか?


対策としては

mktime(0, 0, 0, date('m')-1, 1, date('Y'))

とする。


ネタ元