/**
  * @param $quarter
  * @param $year
  * @param string $timeZoneString
  *
  * @return MomentPeriodVo
  * @throws MomentException
  */
 public static function getQuarterPeriod($quarter, $year, $timeZoneString = 'UTC')
 {
     switch ($quarter) {
         case 1:
             $startMonth = 1;
             $endMonth = 3;
             break;
         case 2:
             $startMonth = 4;
             $endMonth = 6;
             break;
         case 3:
             $startMonth = 7;
             $endMonth = 9;
             break;
         case 4:
             $startMonth = 10;
             $endMonth = 12;
             break;
         default:
             throw new MomentException('Invalid quarter. The range of quarters is 1 - 4. You asked for: ' . $quarter);
     }
     // set start
     $start = new Moment();
     $start->setTimezone($timeZoneString)->setYear($year)->setMonth($startMonth)->setDay(1)->setTime(0, 0, 0);
     // set end
     $end = new Moment();
     $end->setTimezone($timeZoneString)->setYear($year)->setMonth($endMonth)->setDay($end->format('t'))->setTime(23, 59, 59);
     // set period vo
     $momentPeriodVo = new MomentPeriodVo();
     return $momentPeriodVo->setInterval($quarter)->setStartDate($start)->setEndDate($end);
 }