php strtotime 获取上一个月或下一个月的坑

在平时的业务逻辑中经常会遇到用strtotime('last month')或strtotime('-1 month') 获取上一个月,

strtotime('next month')或strtotime('+1 month') 获取下一个月

但是在月末,如果前后两个月的天数不一样多,用strtotime获取上一月的时候就得不到理想的值

比如:在10月31日,获取上月就是错误的(得到的结果是10月)

同样:在10月31日,获取下个月也是错误的(得到的结果是12月)

在月初用strtotime存在同样的问题

在求上一个月或下一个月的时候,可以用 mktime(0, 0, 0, date('m')-1,date('d'), date('Y'))

或mktime(0, 0, 0,date('m')+1, date('d'), date('Y'))

猜你喜欢

转载自www.cnblogs.com/pk-tiger/p/11773267.html