strtotime 获取月份数据不对

项目需要获取前两个月的第一天的时间,开始是这样写的:

// 当前是8月31号
$res = date('Y-m-01', strtotime('-2 month'))
echo $res;  // 结果是 2018-07-01

想不到吧,我也没想到,也不知道是PHP的bug还是我不懂这个的设计。总之,获取某几个月之前或之后的时间。需要这样写:

// 用今天凌晨的时间,注意,不能用 time() 这个是获取当前的时间,
// strototime(date('Y-m')) 也不能带天
$pre_two_month = date('Y-m-01', strtotime('-2 month', strtotime(date('Y-m'))));
echo $pre_two_month;  // 结果是 2018-06-01 正确结果

我获取的是2个月之前的第一天,其他时间请自行修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值