php - 获取上个月第一天的结果变化

标签 php date

尝试获取上个月的第一天和最后一天:

 $monthStart = new DateTime("first day of last month");
 $monthEnd = new DateTime("last day of last month");

 $sMonth = $monthStart->format('U');
 $eMonth = $monthEnd->format('U');

 echo $sMonth . "," . $eMonth;

结果:

 1485968094,1488300894

2 秒后做同样的事情:

 1485968096,1488300896

56 秒后做同样的事情:

 1485968151,1488300951 

为什么这些值会改变?我每次都会期待以下内容:

 1485907200,1488240000 (for feb 2017)

最佳答案

您需要明确设置时间:

$monthStart = (new DateTime("first day of last month"))->setTime(0,0,0);
$monthEnd = (new DateTime("last day of last month"))->setTime(23,59,59);

默认返回当前时间。

关于php - 获取上个月第一天的结果变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42631350/

相关文章:

PHP/SQL : Using only one query, 如果数据在两个表中,则从两个表中选择行,否则从一个表中选择

php - 如何重新创建此表格效果

php - Laravel 验证规则 - 获取损坏的规则名称

excel - 从 2 个输入日期获取所有周数并将它们放入数组中?

mysql - 根据MySQL中的两个表确定空闲时隙

php - 当验证条件存储在 SQL 数据库中时如何验证用户的日期输入

php - 传递由 Js 函数产生的变量(给 Ajax),但 PHP 将其获取为 'NULL'

php - 如果日期晚于

c# - 在 .NET 中识别替代日期(在 PowerShell、C# 或 VB 中)

javascript - 使用日期类型对数组进行排序