как получить диапазон дат предыдущего месяца в php - PullRequest
0 голосов
/ 02 октября 2019

Я хочу получить диапазон дат за предыдущие месяцы с помощью PHP. Я пробовал функцию ниже, чтобы получить диапазон дат прошлого месяца.

$last_month_start_date = date('Y-m-d',strtotime('first day of last month'));
$last_month_end_date = date('Y-m-d',strtotime('last day of last month'));
echo $last_month_start_date.' - '.$last_month_end_date;

Вывод: 2019-09-01 - 2019-09-30

но как я могуполучить диапазон дат предыдущего месяца с помощью PHP?

Кто-нибудь может мне помочь с этим?

Ответы [ 2 ]

1 голос
/ 02 октября 2019

Чтобы получить последний к последнему месяцу: если текущий месяц равен October, то ниже выводится первая и последняя дата August

$last_to_last_start_date = $last_month_start_date = date('Y-m-d',strtotime('first day of last month -1 month')); 
// outout 2019-08-01

$last_to_last_end_date = $last_month_end_date = date('Y-m-d',strtotime('last day of last month -1 month')); 
// outout 2019-08-31

echo $last_to_last_start_date .' - '.$last_to_last_end_date ;
//Output : 2019-08-01 - 2019-08-31 
0 голосов
/ 02 октября 2019

Создайте объект даты и времени, который отстает на два месяца, затем используйте модификатор first/last day of this month. Модификатор this month работает с месяцем объекта, поэтому, если дата объекта - август, он будет искать первый и последний дни августа.

Это означает, что вы можете указать любое значение для -2 months (например, February, -1 month), и он получит даты начала и окончания этого месяца.

$start = new DateTime("-2 months");
$end = clone $start;
$start->modify("first day of this month");
$end->modify("last day of this month");
echo $start->format("Y-m-d")." - ".$end->format("Y-m-d");

В октябре 2019 года это выводит,

2019-08-01 - 2019-08-31

...