PHP strtotime('-1 month')获取上个月的小问题
在工作中中,可能经常需要用到获取上个月的月份,很简单,我们一般这样输出:
echo date('Y-m',strtotime('-1 month'));但是这样会有个问题,strtotime('-1 month') 输出的是上个月今天的时间戳,如果上个月没有今天,那么以上输出就不是我们想要的结果。比如2019-12-31,如果我们在这一天运行上面的程序,会发现输出的是2019-12,而不是2019-11,因为上个月11月没有31号。
因为每个月都有1号,所以正确方法是,可以通过1号的时间戳来获取:
echo date('Y-m', strtotime(date('Y-m-01') . " - 1 month")); //通过1号获取 echo date('Y-m', strtotime("first day of -1 month")); //或者这样这样就是理想的结果,同理,如果获取下个月时间,也需要这样操作。