PHP實現 今天、昨天、上週、本週、本月 數據統計功能

應用場景

按今天、昨天、上週、本週、本月 統計某我的發佈文章數量php

原理分析

假設 文章表裏 有一個字段存儲 建立文章時間戳(cdate),好比說 今天(2016-11-8) 那麼查詢條件 爲 cdate >= 2016-11-8 00:00 AND cdate <= 2016-11-8 23:59函數

實現方案

根據以上分析,須要知道今日開始時間戳和結束時間戳, 那麼昨天、上週、本週也相似。使用PHP 的mktime 函數 可得到開始時間戳和結束時間戳。this

mktime()

語法:mktime(hour,minute,second,month,day,year)code

參數 描述
hour 可選,規定小時
minute 可選,規定分鐘。
second 可選,規定秒
month 可選,規定用數字表示的月
month 可選,規定用數字表示的月
day 可選,規定天
year 可選,規定年

代碼實現

//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'));
相關文章
相關標籤/搜索