php 获取日期(今天、昨天、上周、本周、上月、本月、季度、去年)

//今天
$today = date(“Y-m-d”);
//昨天
$yesterday = date(“Y-m-d”,strtotime("-1 day"));
//上周
$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”)));
//上月
/*
*不太靠谱,当上个月没有当前天的日期会出错,比如10月31日时获取上个月月初和月末就会变成10月1日和10月31日
*同理,+1 moth也是一样
*/
$lastmonth_start = date(‘Y-m-01’, strtotime(’-1 month’));
$lastmonth_start = date(“Y-m-d H:i:s”,mktime(0, 0 , 0,date(“m”)-1,1,date(“Y”)));// 这个才是王道
// 不太靠谱,同上
$lastmonth_end = date(‘Y-m-t’, strtotime(’-1 month’));
$lastmonth_end = date(“Y-m-d H:i:s”,mktime(23,59,59,date(“m”) ,0,date(“Y”))); // 这个才是王道
补充:--------------------突然看到这个也很有意思-----------------------------
上个月第一天:
echo date(‘Y-m-d’, strtotime(date(‘Y-m-01’) . ’ -1 month’)); // 本月第一天再减一个月
上个月最后一天:
echo date(‘Y-m-d’, strtotime(date(‘Y-m-01’) . ’ -1 day’)); // 本月第一天再减一天

//本月
$thismonth_start = date(“Y-m-01”);
$thismonth_end = date(“Y-m-t”);
//本季度未最后一月天数
$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’)));
t h i s q u a r t e r e n d = d a t e ( ′ Y − m − d H : i : s ′ , m k t i m e ( 23 , 59 , 59 , d a t e ( ′ n ′ ) + ( d a t e ( ′ n ′ ) − 1 ) thisquarter_end = date('Y-m-d H:i:s', mktime(23,59,59,date('n')+(date('n')-1)%3, thisquarterend=date(YmdH:i:s,mktime(23,59,59,date(n)+(date(n)1)getMonthDays,date(‘Y’)));

// 去年
$lastyear_start = date(“Y-01-01”, strtotime(’-1 year’));
$lastyear_end = date(“Y-12-31”, strtotime(’-1 year’));

//2019-10-10这天 2个月后的日期
date(“Y-m-d”,strtotime("+2 month",strtotime(“2019-10-10”)));// 2019-12-10这个正常没问题
date(“Y-m-d”,strtotime("+1 month",strtotime(“2019-10-31”)));// 2019-12-01这个异常了,为啥呢?因为11月份没有31天。Oh,yeah.

//当前 4个月后的日期
date(“Y-m-d”,strtotime("+3 month",time()));
但是如果当前是2019-10-31,那么打印的结果是2020-03-02

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值