php 昨天开始时间_php日期处理显示:昨天、今天、本周、上一月等时间结点数据...

PHP日期处理函数,特别是本周、上一月(或者说是获取一个月内的初始和结束时间点等问题),在数据统计方面经常用到

//今天

$today = date("Y-m-d");

//昨天

$yesterday = date("Y-m-d", strtotime(date("Y-m-d"))-86400);

//上周

$lastweek_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y")));

$lastweek_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y")));

//本周

$thisweek_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")));

$thisweek_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")));

//上月

$lastmonth_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y")));

$lastmonth_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y")));

//本月

$thismonth_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y")));

$thismonth_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y")));

//本季度未最后一月天数

$getMonthDays = date("t",mktime(0, 0 , 0,date('n')+(date('n')-1)%3,1,date("Y")));

//本季度/

$thisquarter_start = date('Y-m-d H:i:s', mktime(0, 0, 0,date('n')-(date('n')-1)%3,1,date('Y')));

$thisquarter_end = date('Y-m-d H:i:s', mktime(23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y')));

//2016-08-10这天 2个月后的日期

echo date("Y-m-d",strtotime("+2 month",strtotime("2016-08-10")));

//当前 3个月后的日期

echo date("Y-m-d",strtotime("+3 month",time()));

将常用的时间结点数据封装成函数,方便调用:

function time_slot(){

$time['today']['begin'] = mktime(0,0,0,date('m'),date('d'),date('Y'));

$time['today']['end'] = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

$time['tomorrow']['begin'] =  mktime(0,0,0,date('m'),date('d')-1,date('Y'));

$time['tomorrow']['end'] =  mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

$time['week']['begin'] = mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"));

$time['week']['end'] = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));

$time['lastweek']['begin'] = mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));

$time['lastweek']['end'] = mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

$time['month']['begin'] = mktime(0,0,0,date('m'),1,date('Y'));

$time['month']['end'] = mktime(23,59,59,date('m'),date('t'),date('Y'));

$time['lastmonth']['begin'] = mktime(0, 0 , 0,date("m")-1,1,date("Y"));

$time['lastmonth']['end'] = mktime(23,59,59,date("m") ,0,date("Y"));

//返回时间段

return $time;

}

php 计算本月的开始时间 和结束时间 以及当月有多少天

$y = date("Y", time()); //年

$m = date("m", time()); //月

$d = date("d", time()); //日

$t0 = date('t'); // 本月一共有几天

$start_month = mktime(0, 0, 0, $m, 1, $y); // 创建本月开始时间

$end_month = mktime(23, 59, 59, $m, $t0, $y); // 创建本月结束

利用本月开始时间和本月结束时间结点,就可以统计出本月相关数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值