Ограничить количество записей в час?
В настоящее время я использую плагин Gravity Forms, и он настроен на ограничение количества записей в форме на день, неделю, месяц и год; к сожалению, мне это нужно по часам. Вот оригинальный код, который я редактирую:
private static function get_limit_period_dates($period){
if(empty($period))
return array("start_date" => null, "end_date" => null);
switch($period){
case "day" :
return array(
"start_date" => gmdate("Y-m-d"),
"end_date" => gmdate("Y-m-d 23:59:59"));
break;
case "week" :
return array(
"start_date" => gmdate("Y-m-d", strtotime("Monday this week")),
"end_date" => gmdate("Y-m-d 23:59:59", strtotime("next Sunday")));
break;
case "month" :
$month_start = gmdate("Y-m-1");
return array(
"start_date" => $month_start,
"end_date" => gmdate("Y-m-d H:i:s", strtotime("{$month_start} +1 month -1 second")));
break;
case "year" :
return array(
"start_date" => gmdate("Y-1-1"),
"end_date" => gmdate("Y-12-31 23:59:59"));
break;
}
}
Я попытался следующий код, я подумал, начиная с 0 минут и 0 секунд, а затем добавив час, добьется цели, но это не работает:
case "hour" :
return array(
"start_date" => gmdate("H:00:00"),
"end_date" => gmdate("H:i:s", strtotime("+1 hour")));
break;
Я никогда не использовал функцию gmdate, поэтому я хочу понять это, если кто-то захочет кратко объяснить, что мне не хватает. Спасибо!
1 ответ
Решение
Я думаю, что это может быть то, что вы хотите:
case "hour" :
$hour_start = gmdate("Y-m-d H:00:00");
return array(
"start_date" => $hour_start,
"end_date" => gmdate("Y-m-d H:i:s", strtotime("{$hour_start} +1 hour")));
break;
Вы должны сделать 1 час после начала часа. В противном случае это займет 1 час.