- Модуль: 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;
}
}