例えば今日が4月14日(火)なので、週始め=4月13日(月)と週末=4月19日(日)を取得したいというケース。
ググっみても、見つかるのはタイムスタンプを利用してなんちゃらとかグレゴリ暦がなんちゃらとか理屈はわかるけどコードを見ても「ややこしいなー」というものばかりだったので、1から考えることに。
ググっみても、見つかるのはタイムスタンプを利用してなんちゃらとかグレゴリ暦がなんちゃらとか理屈はわかるけどコードを見ても「ややこしいなー」というものばかりだったので、1から考えることに。
さすがZend Framework。Zend_Dateを利用すればスッキリさわやかなコードがかける。
public static function getWeekStartDate(){今回はロケールは日本決めうちにさせていただきましたので、あらかじめご了承ください。
$date = new Zend_Date(null, 'yyyy.MM.dd', new Zend_Locale('ja'));
$day = $date->get(Zend_Date::WEEKDAY_8601);
if($day != 1){
$date->subDay($day - 1);
}
return $date;
}
public static function getWeekEndDate(){
$date = new Zend_Date(null, 'yyyy.MM.dd', new Zend_Locale('ja'));
$day = $date->get(Zend_Date::WEEKDAY_8601);
if($day != 7){
$date->addDay(7 - $day);
}
return $date;
}
コメントする