как уменьшить месяцы в php?

1

Я хочу разделить 4 квартала месяца с текущего месяца.

$q1Start = date('Y-m-01',strtotime('-2 months'));
$q1End = date('Y-m-d');

$q2Start = date('Y-m-01',strtotime('-5 months'));
$q2End = date('Y-m-d',strtotime('-3 months'));

$q3Start = date('Y-m-01',strtotime('-8 months'));
$q3End = date('Y-m-t',strtotime('-6 months'));

$q4Start = date('Y-m-01',strtotime('-11 months'));
$q4End = date('Y-m-t',strtotime('-9 months'));

Но он не показывает точную дату.

Я хочу так.

2015-06-01
2015-08-31

2015-03-01
2015-05-31

2015-02-28
2014-12-01

2014-09-01
2014-11-30

Как уменьшить текущий месяц? благодаря

Теги:
date

1 ответ

3
Лучший ответ

Поскольку кварталы должны основываться на текущем месяце, легче начать с первого дня месяца для расчетов.

$dayOfMonth = date('d');
$firstDayOfCurrentMonth = strtotime(sprintf('-%d days + 1 day midnight', $dayOfMonth));

$q1Start = date('Y-m-d', strtotime('-2 months', $firstDayOfCurrentMonth));
$q1End = date('Y-m-d', strtotime('+1 month - 1 day', $firstDayOfCurrentMonth));

$q2Start = date('Y-m-d', strtotime('-5 months', $firstDayOfCurrentMonth));
$q2End = date('Y-m-d', strtotime('-2 month - 1 day', $firstDayOfCurrentMonth));

$q3Start = date('Y-m-d', strtotime('-8 months', $firstDayOfCurrentMonth));
$q3End = date('Y-m-d', strtotime('-5 month - 1 day', $firstDayOfCurrentMonth));

$q4Start = date('Y-m-d', strtotime('-11 months', $firstDayOfCurrentMonth));
$q4End = date('Y-m-d', strtotime('-8 month - 1 day', $firstDayOfCurrentMonth));

Это устанавливает все переменные в ожидаемые значения.

  • 1
    @ArjanThanks, работает нормально

Ещё вопросы

Сообщество Overcoder
Наверх
Меню