php strtotime('-1 month') 存在的bug

今天在做用户新增统计是发现一个问题:

今天是 2019-05-31,

echo date('Y-m-d',strtotime('-1 month'));

结果输出是:2019-05-01

原来:PHP的‘+1 month ’ 和 ‘-1 month ’只能精确到月, 会直接在月份上做处理,而对于月份有28天30天31天这种没有处理

所以调整为以下写法:

strtotime("-1 month", strtotime(date('Y-m')));

解释:

strtotime(date('Y-m'));获取的是月初的时间戳,每个月都有月初,所以就不会出错了。

未经允许请勿转载:熊先生个人博客 » php strtotime('-1 month') 存在的bug

赞一个 (0)

评论 沙了个发

换个身份

取消评论

分享:

支付宝

微信