Функции для работы с датой и временем, которые поставляются с PHP прекрасны для форматирования дат, однако отсутствует простой способ определить квартал для timestamp или объекта DateTime.
Вот тут маленькая функция, которая умеет возвращать квартал из DateTime:
/** * Return the quarter for a timestamp. * @returns integer */ function quarter(\DateTime $dateTime){ return (int) ceil($dateTime->format('n') / 3); }