Как преобразовать время к интервалу?

Рейтинг: -1Ответов: 1Опубликовано: 13.04.2023

Помогите пожалуйста понять как такое сделать, не могу разобраться как приравнивать время к нужному интервалу и даже незнаю с чего начать

К примеру есть время 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 день

https://onlinephp.io/c/a035e

Ответы

▲ -2

Нашел способ путем получения остатка от деления на минуты:


$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) );

OnlinePHP.io