応用シナリオ
今日、昨日、先週、今週、今月までに人が公開した記事の数を数えます
原理分析
記事テーブルに、たとえば、今日 (2016-11-8) の場合、クエリ条件は cdate >= 2016-11-8 00:00 AND cdate
。 実装計画
上記の分析によると、今日の開始タイムスタンプと終了タイムスタンプがわかっている場合、昨日、先週、今週が似ていることがわかります。 PHP の mktime 関数を使用して、開始タイムスタンプと終了タイムスタンプを取得します。
mktime()
構文: mktime(時、分、秒、月、日、年)
コードの実装
//php获取今日开始时间戳和结束时间戳 $today_start=mktime(0,0,0,date('m'),date('d'),date('Y')); $today_end=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; //php获取昨日起始时间戳和结束时间戳 $yesterday_start=mktime(0,0,0,date('m'),date('d')-1,date('Y')); $yesterday_end=mktime(0,0,0,date('m'),date('d'),date('Y'))-1; //php获取上周起始时间戳和结束时间戳 $lastweek_start=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y')); $lastweek_end=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y')); //php获取本周周起始时间戳和结束时间戳 $thisweek_start=mktime(0,0,0,date('m'),date('d')-date('w'+1),date('Y')); $thisweek_end=mktime(23,59,59,date('m'),date('d')-date('w')+7,date('Y')); //php获取本月起始时间戳和结束时间戳 $thismonth_start=mktime(0,0,0,date('m'),1,date('Y')); $thismonth_end=mktime(23,59,59,date('m'),date('t'),date('Y'));