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

文章版权:作者:刘小白  来源:htmlbk  

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

本文最后更新于 2022-11-30 15:00:27,如果你的问题还没有解决,可以加入建站交流群和群友们一起讨论。

评论区