Zend_Dateを利用して日付を取得する方法(前の日や次の日なども)

Zend_Dateを利用すると、簡単に日付が取得出来る。

指定した日の前の日、次の日も簡単に。

方法はコードをそのまま書く。

function GetDate( &$nowdate, $count, $year, $month, $day )
{
//日付取得
$nowdate = new Zend_Date();

//指定の年月日があるなら設定
if(( strcmp($year,")!=0 )&&( strcmp($month,")!=0 )&&( strcmp($day,")!=0 ))
{
$nowdate->set(“$day.$month.$year", Zend_Date::DATES);
}
$nowdate->add( $count ,Zend_Date::DAY);
$nowdate = $nowdate->toArray();

//前0追加
$nowdate[“month"] = sprintf(“%02d",$nowdate[“month"]);
$nowdate[“day"] = sprintf(“%02d",$nowdate[“day"]);

if( $nowdate[“weekday"] === '1’ ){ $nowdate[“wday"] = “月"; }
elseif( $nowdate[“weekday"] === '2’ ){ $nowdate[“wday"] = “火"; }
elseif( $nowdate[“weekday"] === '3’ ){ $nowdate[“wday"] = “水"; }
elseif( $nowdate[“weekday"] === '4’ ){ $nowdate[“wday"] = “木"; }
elseif( $nowdate[“weekday"] === '5’ ){ $nowdate[“wday"] = “金"; }
elseif( $nowdate[“weekday"] === '6’ ){ $nowdate[“wday"] = “土"; }
elseif( $nowdate[“weekday"] === '7’ ){ $nowdate[“wday"] = “日"; }
}

使い方は
GetDate( $now, 0, “2010","11″,"06″);

とすれば、$nowにZend_Dateの配列データが入ってくる。

$now[“year"]."-“.$now[“month"]."-“.$now[“day"]
とすれば、2010-11-06が取得出来る。

第2引数の$countは、指定した日から**日前 or **日後 かを示す。
1 ならば 次の日
-1 ならば 前の日

$nowはリファレンスな点に注意。