PHP实现 今天、昨天、上周、本周、本月 数据统计功能


应用场景

按今天、昨天、上周、本周、本月 统计某个人发布文章数量

原理分析

假设文章表里有一个字段存储创建文章时间戳(cdate),比如说今天(2016-11-8)那么查询条件为 cdate >= 2016-11-8 00:00 AND cdate <= 2016-11-8 23:59

实现方案

根据以上分析,需要知道今日开始时间戳和结束时间戳, 那么昨天、上周、本周也类似。使用PHP 的mktime函数可获得开始时间戳和结束时间戳。

mktime()

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


参数描述
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获取上月起始时间戳和结束时间戳$lastmonth_start=mktime(0,0,0,date('m')-1,1,date('Y'));$lastmonth_end=mktime(23,59,59,date('m')-1,date('t'),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'));



THE END

文章版权:作者:一起守护  来源:本站  

TAG标签:

免责声明:本站提供的一切文章和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该文章和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

本文最后更新于2023-10-07 21:08:09,如果你的问题还没有解决,可以加入交流群和群友们一起讨论。