응용 시나리오
오늘, 어제, 지난 주, 이번 주, 이번 달에 따라 개인이 게시한 기사 수를 계산합니다.
원리 분석
기사 테이블에 기사 작성의 타임스탬프(cdate)를 저장하는 필드가 있다고 가정합니다(예: 오늘(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'));