Catalog
  1. 1. PHP实现 今天、昨天、上周、本周、本月 数据统计功能
  2. 2. 应用场景
  3. 3. 原理分析
  4. 4. 实现方案
  5. 5. mktime()
  6. 6. 代码实现
PHP实现 今天、昨天、上周、本周、本月 数据统计功能

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 可选,规定用数字表示的月
day 可选,规定天
year 可选,规定年

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//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'));
Author: SiYuanJun
Link: http://blog.lvtcn.com/2020/06/05/PHP%E5%AE%9E%E7%8E%B0%E4%BB%8A%E5%A4%A9%E3%80%81%E6%98%A8%E5%A4%A9%E3%80%81%E4%B8%8A%E5%91%A8%E3%80%81%E6%9C%AC%E5%91%A8%E3%80%81%E6%9C%AC%E6%9C%88%E6%95%B0%E6%8D%AE%E7%BB%9F%E8%AE%A1%E5%8A%9F%E8%83%BD/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
  • 支付寶

Comment