获取上个月的名字日期PHP

时间:2016-09-05 20:25:26

标签: php date strtotime

我需要在PHP中获取姓氏的最后一天日期和姓名的日期。

几天来,我做了以下工作正常:

echo date('Y-m-d', strtotime("last Monday"));    // Last Monday Date
echo date('Y-m-d', strtotime("last Tuesday"));   // Last Tuesday Date
echo date('Y-m-d', strtotime("last Wednesday")); // Last Wednesday Date
echo date('Y-m-d', strtotime("last Thursday"));  // Last Thursday Date
echo date('Y-m-d', strtotime("last Friday"));    // Last Friday Date
echo date('Y-m-d', strtotime("last Saturday"));  // Last Saturday Date 
echo date('Y-m-d', strtotime("last Sunday"));    // Last Sunday Date 

我怎么能在前几个月没有工作呢?

echo date('Y-m-d', strtotime("last January"));  // Last January Date
echo date('Y-m-d', strtotime("last February")); // Last February Date
....

我无法使用date('Y-m-d', strtotime('last month'))因为它可能是我需要我之前的1月或2月日期的任何月份。例如,我需要去年1月的9月份的日期。

编辑:我的解决方案是

// Today : 2016-09-05
echo date('Y-m', strtotime("first day of January"));  // Output : 2016-01
echo date('Y-m', strtotime("first day of February")); // Output : 2016-02
echo date('Y-m', strtotime("first day of March"));    // Output : 2016-03
....
echo date('Y-m', strtotime("-1 year first day of January"));  // Output : 2015-01
echo date('Y-m', strtotime("-1 year first day of February")); // Output : 2015-02
echo date('Y-m', strtotime("-1 year first day of March"));    // Output : 2015-03

这不是我在问题中提出的问题,特别是在目前问题之后的几个月。例如:first day of December我们九月份的时间并不是最后一个九月份,而且是将来的,但它对我有用,因为我有正确的一年。

3 个答案:

答案 0 :(得分:1)

我相信你可以做点什么

$date = new DateTime('last day of last month');

http://www.php.net/manual/de/datetime.formats.relative.php#102947

答案 1 :(得分:0)

echo date("Y-m-d", strtotime("first day of previous month"));
echo date("Y-m-d", strtotime("last day of previous month"));

Getting last month's date in php

答案 2 :(得分:0)

您可以使用它来查找上个月的最后一天

date('Y-m', strtotime('first day of last month'));
 echo date('Y-m-d', strtotime("first day of -1 month"));

这是上个月的

echo date("Y-m-d H:i:s",strtotime("-1 month"));

和上个月的最后一天

echo date('Y-m-d', strtotime("last day of -1 month"));
echo date('Y-m-d', strtotime("last day of last month"));