关于统计今天、昨天、当前月份、上月数据的时间格式

统计中需要获取今天、昨天、本月、上月的统计数据,但在时间的写法上总是很迷茫。

当前的方式可以很清晰的明确每一个时间的范围

先得到一个当前时间的时间戳

$now = time(); //当前时间

再从每天的零时到下一天的零时前一秒来获取今天的全部时间

$mor_today = strtotime(date("Y-m-d 00:00:00",$now));    //今天时间开始
$eve_today = strtotime(date("Y-m-d 23:59:59",$now));    //今天时间结束
$mor_yes = strtotime(date("Y-m-d 00:00:00",$now-86400)); //昨天时间开始
$eve_yes = strtotime(date("Y-m-d 23:59:59",$now-86400)); //昨天时间结束

当月:需要从每月的第一天到当月的最后一天

$days = date('t', strtotime($now));  //获取指定时间月份的天数
$begin_mon = strtotime(date("Y-m-01",$now));                //本月时间开始
$end_mon = strtotime(date("Y-m-".$days." 23:59:59",$now));  //本月时间结束

上月:需要获取当前月份并减1

$mon = date('m',$now)-1;

$begin_last = strtotime(date("Y-".$mon."-01",$now));       //上月时间开始

$days1 = date('t', $begin_last);  //获取上月的天数

$end_last = strtotime(date("Y-".$mon."-".$days1." 23:59:59",$now));//上月时间结束

涉及函数

date();
    函数格式化本地日期和时间,并返回已格式化的日期字符串。
语法
    date(format,timestamp)
    format 必需。规定时间戳的格式。
    timestamp 可选。规定时间戳。默认是当前的日期和时间。
参数:
Y   4 位数字完整表示的年份    例如:1999 或 2003
m   数字表示的月份,有前导零    01 到 12
d   月份中的第几天,有前导零的 2 位数字 01 到 31
t   指定的月份有几天    28 到 31


strtotime();
     函数将任何英文文本的日期或时间描述解析为 Unix 时间戳
     (自 January 1 1970 00:00:00 GMT 起的秒数)。
语法
    strtotime(time,now);

参数  描述
time    必需。规定日期/时间字符串。
now 可选。规定用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值