PHPで前日の日付を算出する

1日前などを算出する関数です。さすがPHPです。便利な関数ありますねえ。Perlだとこれよりちょっとだけ複雑な作業がいるんですよ。

print date("Ymd",strtotime("-1 day"));   //1日前
print date("Ymd",strtotime("-1 week"));  //1週間前
print date("Ymd",strtotime("-1 month")); //1月前
print date("Ymd",strtotime("-1 year"));  //1年前
//
print date("Ymd",strtotime("1 day"));    //1日後
print date("Ymd",strtotime("1 week"));   //1週間後
print date("Ymd",strtotime("1 month"));  //1月後
print date("Ymd",strtotime("1 year"));   //1年後結構便利です。


これをPerlで実現してみると

$days = 1;  //○日前を指定
($sec, $min, $hour, $day, $month, $year, $wdy, $yday, $isdst) 
= localtime(time-24*60*60*$days);
$year += 1900;
$month++;

print sprintf("%04d%02d%02d",$year,$month,$day);

って感じでしょうか。もっと簡単な方法あると思いますが・・・。