Как преобразовать время к интервалу?
Помогите пожалуйста понять как такое сделать, не могу разобраться как приравнивать время к нужному интервалу и даже незнаю с чего начать
К примеру есть время 1681171205 оно равно 2023-04-11 00:00:05
echo date('Y-m-d H:i:s', 1681171205); // "2023-04-11 00:00:05"
Дано интервал 5 минут и время находится между этими временами
2023-04-11 00:00:00 <=> 2023-04-11 00:05:00
Нужно взять стартовое 2023-04-11 00:00:00 и перегнать его в timestamp без миллисекунд
echo strtotime('2023-04-11 00:00:00'); // 1681171200
В итоге из 1681171205 получить 1681171200 если интервал 5 минут
И тоже с интервалами 15 минут, 30 минут, 1 час, 4 часа и 1 день
Ответы (1 шт):
Автор решения: kpushilin
→ Ссылка
Нашел способ путем получения остатка от деления на минуты:
$time = 1681181205;
var_dump( date('Y-m-d H:i:s', $time) );
// 300 => 5 минут
// 900 => 15 минут
// 1800 => 30 минут
// 3600 => 1 час
// 14400 => 4 часа
// 86400 => 1 день
$time_start = $time - ($time % 1800);
var_dump( date('Y-m-d H:i:s', $time_start) );