• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/service/agent/violationnotifieragent.php
  • Класс: BitrixTimemanServiceAgentViolationNotifierAgent
  • Вызов: ViolationNotifierAgent::buildExpectedPeriodEndDate
static function buildExpectedPeriodEndDate($fromDateTime, $schedule)
{
	$expectedToDateTime = clone $fromDateTime;
	switch ($schedule->getReportPeriod())
	{
		case ScheduleTable::REPORT_PERIOD_WEEK:
			$expectedToDateTime->add(new DateInterval('P6D'));
			break;
		case ScheduleTable::REPORT_PERIOD_TWO_WEEKS:
			$expectedToDateTime->add(new DateInterval('P13D'));
			break;
		case ScheduleTable::REPORT_PERIOD_MONTH:
			$expectedToDateTime->modify('last day of');
			break;
		case ScheduleTable::REPORT_PERIOD_QUARTER:
			$expectedToDateTime->add(new DateInterval('P3M'));
			$expectedToDateTime->sub(new DateInterval('P1D'));
			break;
		default:
			break;
	}
	$expectedToDateTime->setTime(23, 59, 59);
	return $expectedToDateTime;
}