在php中获取上一年的开始和结束日期

时间:2017-10-25 09:12:58

标签: php date date-format

我可以使用以下内容获得上个月的开始和结束日期。

echo date("d-m-y",strtotime("first day of -1 month")); //output: 01-09-17
echo date("d-m-y",strtotime("last day of -1 month")); //output: 30-09-17

但我无法获得上一年的开始和结束日期。我试过的代码如下。

echo date("d-m-y",strtotime("first day of -1 year")); //output: 01-10-16
echo date("d-m-y",strtotime("last day of -1 year")); //output: 31-10-16

我输错了。我需要输出为 01-01-16 31-12-16。

任何帮助将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:2)

“最后一天”和“第一天”这样的表达将在一个月内有效,而不是一年或一周。

第一天总是1月1日,最后一天总是每年的12月31日。因此,您可以使用以下代码来满足您的输出。

echo date("d-m-y",strtotime("last year January 1st")); //will give 01-01-16
echo date("d-m-y",strtotime("last year December 31st")); //will give 31-12-16

答案 1 :(得分:0)

为什么不让它变得非常简单?
一年中的第一天和最后一天被称为“常数”。

echo date("01-01-y",strtotime("-1 year")) ."\n";
echo date("31-12-y",strtotime("-1 year"));

https://3v4l.org/V0ktv