获得上个月第一天和最后一天的最佳方式?

2022-08-30 09:59:54

我正在寻找获得上个月的第一天和最后一天的最佳方法。我使用它们进行SQL查询以获取上个月的统计信息。

我认为这是最好的方法,更优化但不更全面,有人有另一种方法可以做同样的事情吗?

    $month_ini = date("Y-m-d", mktime(0, 0, 0, date("m", strtotime("-1 month")), 1, date("Y", strtotime("-1 month"))));

    $month_end = date("Y-m-d", mktime(0, 0, 0, date("m", strtotime("-1 month")), date("t", strtotime("-1 month")), date("Y", strtotime("-1 month"))));

谢谢!!


答案 1

在 PHP 5.3 中,您可以使用以下类:DateTime

<?php

$month_ini = new DateTime("first day of last month");
$month_end = new DateTime("last day of last month");

echo $month_ini->format('Y-m-d'); // 2012-02-01
echo $month_end->format('Y-m-d'); // 2012-02-29

答案 2

上个月的最后一天:

date("Y-m-d", mktime(0, 0, 0, date("m"), 0));

上个月的第一天:

date("Y-m-d", mktime(0, 0, 0, date("m")-1, 1));

推荐