道者编程

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")); //或者这样 
这样就是理想的结果,同理,如果获取下个月时间,也需要这样操作。

最新评论:
1楼 广东省深圳市 电信 发表于 2019-12-31 10:38:06
用strtotime(“first day of -1 month”)
共有 1 条记录  首页 上一页 下一页 尾页 1
我要评论:

看不清楚