Php 获取上月结果更改的第一天
尝试获取上个月的第一天和最后一天:Php 获取上月结果更改的第一天,php,date,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; 结果: 148596
$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
1485968151,1488300951
56秒后再做同样的事情:
1485968096,1488300896
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);
默认情况下,它返回当前时间。这是因为您没有指定时间组合,只指定了日期 您可以使用以下代码段解决此问题:
$monthStart = new DateTime("midnight first day of last month");
$monthEnd = new DateTime("midnight last day of last month");
$sMonth = $monthStart->format('U');
$eMonth = $monthEnd->format('U');
echo $sMonth . "," . $eMonth;
当没有时间规范时,它默认为当前时间