Я пытаюсь сделать функцию, которая возвращает точную дату предыдущих месяцев.
Это пример моего кода:
// Dates in TimeStamp
$ts_now = strtotime('now');
$ts_month1 = strtotime("-1 month", $ts_now);
$ts_month2 = strtotime("-2 month", $ts_now);
$ts_month3 = strtotime("-3 month", $ts_now);
// Dates Formated
$date_now = date('Y-m-d', $ts_now);
$date_month1 = date('Y-m-d', $ts_month1);
$date_month2 = date('Y-m-d', $ts_month2);
$date_month3 = date('Y-m-d', $ts_month3);
//Output
echo $date_now; //2020-04-30
echo $date_month1; //2020-03-30
echo $date_month2; //2020-03-01
echo $date_month3; //2020-01-30
Проблема в том, что $date_month2
представляет февраль, выходное значение равно 2020-03-01 вместо 2020-02-29 , и я предполагаю, что проблема произойдет в месяцы, у которых есть 30 дней, когда у текущей даты есть 31 день.
Что лучший способ решить это?