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

我正在寻找获得上个月第一天和最后一天的最佳方法。我使用它们进行 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"))));

谢谢!!

最佳答案

在 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

https://stackoverflow.com/questions/9735604/

相关文章:

mysql - 删除时间戳早于 x 天的所有行

sql - SQL UPDATE中的str_replace?

c# - 在 Microsoft Visual Studio 2013 的 WinForms 中启用

mysql - Rails 控制台通过 id 数组查找用户

mysql - 让 MySQL 用户创建数据库,但只允许访问他们自己的数据库

MySQL 日期格式 - 插入日期的困难

mysql - CakePHP - 获取最后一个查询运行

java - 无法让spring boot自动创建数据库模式

mysql - 如何选择几个硬编码的 SQL 行?

mysql - 导入 CSV 以仅更新表中的一列