| Kopusha |
|
|---|---|
|
Привет, скорее не про кота а в общем, можем ткнете носом в какой мануал толковый. Фильтрую запрос по дате, что то наподобии:
switch ($period) {
case 'day':
$from = $sys['now'] - 86400;
$to = $sys['now'];
break;
case 'yesterday':
$from = $sys['now'] - 86400;
$to = $sys['now'] - 172800;
break;
case 'week':
$from = $sys['now'] - 604800;
$to = $sys['now'];
break;
case 'month':
$from = $sys['now'] - 2592000;
$to = $sys['now'];
break;
case 'year'://за текущий год
$from = $sys['now'] - 31536000;
$to = $sys['now'];
break;
case 'all'://за все время
$from = 0;
$to = $sys['now'];
break;
case 'custom'://выбор дат
$setfrom = cot_import_date('cust_from', true, false, 'G');
$setto = cot_import_date('cust_to', true, false, 'G');
if (!empty($setfrom) && !empty($setto))
{
$from = $setfrom;
$to = $setto;
}
else
{
cot_error(cot::$L['querydatewrong'].cot::$R['code_error_separator'], '');
$from = 0;
$to = $sys['now'];
}
if ($setfrom <= $setto)
{
}
else
{
cot_error(cot::$L['querydatewrong'].cot::$R['code_error_separator'], '');
$from = 0;
$to = $sys['now'];
}
break;
default:
//Весь час
$from = 0;
$to = $sys['now'];
break;
}
if(!empty($period))
{
$where['period'] = "date BETWEEN {$from} AND {$to}";
}
else
{
$where['period'] = "date BETWEEN {$from} AND {$to}";
}
Оно естественно дает математический фильтр, для которого "год" это с 22 сент 2021 по 22 сент 2220. case 'custom'://выбор дат дает +- выбрать нужный период. Или "за месяц" = с 1 сентября до 22 сентября.
|
| Alex300 |
|
|---|---|
$date = (int)date('d');
$month = (int)date('m');
$year = (int)date('Y');
$todayFrom = mktime(0,0,0, $month, $date, $year);
$todayTo = mktime(23,59,59, $month, $date, $year);
// OR
$todayTo = mktime(0,0,0, $month, $date + 1, $year);
В Cotonti есть аналогичные функции с префиксом cot_ - они учитывает временную зону сервера / пользователя. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
| Kopusha |
|
|---|---|
|
Вот тут какая загвоздка. Время у меня хранится в виде 1633471547 Мне нужно выводить статисту календарно. То есть у меня сейчас "За неделю" это за 7 дней (сегодня пятница, выводим с пятницы по пятницу). case 'week': $from = $sys['now'] - 604800; $to = $sys['now']; //порівнюємо з попереднім $from_prev = $sys['now'] - 1209600; $to_prev = $sys['now'] - 604800; break; Но мне поставили задачу вывести "за текущую неделю" - то есть сегодня пятница - вывожу с понедельника по пятницу, с $ponedelnik до $sys['now'] И точно так же За календарный месяц и Календарный год. |