プログラムは、今週の日付範囲、つまり月曜日から日曜日までの日付範囲を取得するメソッドを記述する必要があります。
関数getWeekRange($date){
$ret=array();
$timestamp=strtotime($date);
$w=strftime('%u',$timestamp);
$ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*86400);
$ret['edate']=date('Y-m-d 23:59:59',$timestamp+(7-$w)*86400);
$ret を返す;
}
//author:zhxia 指定した日付が位置する月の開始日と終了日を取得します
関数getMonthRange($date){
$ret=array();
$timestamp=strtotime($date);
$mdays=date('t',$timestamp);
$ret['sdate']=date('Y-m-1 00:00:00',$timestamp);
$ret['edate']=date('Y-m-'.$mdays.' 23:59:59',$timestamp);
$ret を返す;
}
//author:zhxia 上記2つの関数の応用
関数getFilter($n){
$ret=array();
スイッチ($n){
ケース1://昨日
$ret['sdate']=date('Y-m-d 00:00:00',strtotime('-1 day'));
$ret['edate']=date('Y-m-d 23:59:59',strtotime('-1 day'));
休憩;
ケース2://今週
$ret=getWeekRange(date('Y-m-d'));
休憩;
ケース3://先週
$strDate=date('Y-m-d',strtotime('-1週間'));
$ret=getWeekRange($strDate);
休憩;
ケース4: //先週
$strDate=date('Y-m-d',strtotime('-2週間'));
$ret=getWeekRange($strDate);
休憩;
ケース 5: //今月
$ret=getMonthRange(date('Y-m-d'));
休憩;
ケース6://先月
$strDate=date('Y-m-d',strtotime('-1 month'));
$ret=getMonthRange($strDate);
休憩;
}
$ret を返す;
}