2017-10-25 16 views
3

私は前月の開始日と終了日を以下で取得できます。前の年の開始日と終了日をPHPで取得する

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-1631-12-16という出力が必要です。

ご協力いただければ幸いです。前もって感謝します。

答えて

2

"最終日"や "最初の日"などの表現は、1年または1週間ではなく月に使用できます。

最初の日は常に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 
0

なぜそれを本当に簡単にしないのですか?
年の最初と最後の日は「定数」と呼ばれます。

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

https://3v4l.org/V0ktv

関連する問題