山崎@ひさびさです。 > $lastmonth = mktime(0, 0, 0, 3-1, 30, 2005); > で、計算すると > $lastmonth = mktime(0, 0, 0, 2, 30, 2005); > となり、 > 2/30 がありえないので PHP が気をきかせて > 3/2 になったのではないでしょうか? > ということだと思います。 $lastmonth = mktime(0, 0, 0, date("m"), 0, date("Y")); で前の月の末日(の0時0分0秒時点の値)が取得できます。