• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/grids.php
  • Класс: CGridOptions
  • Вызов: CGridOptions::CalcDates
static function CalcDates($field_id, $aInput, &$aRes)
{
	switch($aInput[$field_id."_datesel"])
	{
		case "today":
			$aRes[$field_id."_from"] = $aRes[$field_id."_to"] = ConvertTimeStamp();
			break;
		case "yesterday":
			$aRes[$field_id."_from"] = $aRes[$field_id."_to"] = ConvertTimeStamp(time()-86400);
			break;
		case "tomorrow":
			$aRes[$field_id."_from"] = $aRes[$field_id."_to"] = ConvertTimeStamp(time()+86400);
			break;
		case "week":
			$day = date("w");
			if($day == 0)
				$day = 7;
			$aRes[$field_id."_from"] = ConvertTimeStamp(time()-($day-1)*86400);
			$aRes[$field_id."_to"] = ConvertTimeStamp(time()+(7-$day)*86400);
			break;
		case "week_ago":
			$day = date("w");
			if($day == 0)
				$day = 7;
			$aRes[$field_id."_from"] = ConvertTimeStamp(time()-($day-1+7)*86400);
			$aRes[$field_id."_to"] = ConvertTimeStamp(time()-($day)*86400);
			break;
		case "month":
			$aRes[$field_id."_from"] = ConvertTimeStamp(mktime(0, 0, 0, date("n"), 1));
			$aRes[$field_id."_to"] = ConvertTimeStamp(mktime(0, 0, 0, date("n")+1, 0));
			break;
		case "month_ago":
			$aRes[$field_id."_from"] = ConvertTimeStamp(mktime(0, 0, 0, date("n")-1, 1));
			$aRes[$field_id."_to"] = ConvertTimeStamp(mktime(0, 0, 0, date("n"), 0));
			break;
		case "days":
			$aRes[$field_id."_days"] = $aInput[$field_id."_days"];
			$aRes[$field_id."_from"] = ConvertTimeStamp(time() - intval($aRes[$field_id."_days"])*86400);
			$aRes[$field_id."_to"] = "";
			break;
		case "exact":
			$aRes[$field_id."_from"] = $aRes[$field_id."_to"] = $aInput[$field_id."_from"];
			break;
		case "after":
			$aRes[$field_id."_from"] = $aInput[$field_id."_from"];
			$aRes[$field_id."_to"] = "";
			break;
		case "before":
			$aRes[$field_id."_from"] = "";
			$aRes[$field_id."_to"] = $aInput[$field_id."_to"];
			break;
		case "interval":
			$aRes[$field_id."_from"] = $aInput[$field_id."_from"];
			$aRes[$field_id."_to"] = $aInput[$field_id."_to"];
			break;
	}
}