[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Интервал типа дата/время
hookman
Всем привет.
Имеем две переменные:
$from = '2011-10-02 13:00';
$to - '2011-11-05 05:00';


Нужна функция на выходе которой будет массив с интервалом от $from до $to.

$result = array('2011-10-02 13:00','2011-10-02 14:00','2011-10-02 15:00', ... , '2011-11-05 05:00');


Мозгую мозгую, и ничего в голову толкового не приходит...



Спустя 11 минут, 19 секунд (3.10.2011 - 16:07) neadekvat написал(а):
Я правильно понял, что нужно собрать все промежуточные точки времени с разницей в час?
Что-то такое получилось:

function get_intervals($from, $to)
{
$from_t = strtotime($from);
$to_t = strtotime($to);

$interval = 60 * 60; // интервал - 1 час

$cur_time = $from_t;
$intervals[] = $from;
while($cur_time != $to_t)
{
$cur_time += $interval;
$intervals[] = date('Y-m-d H:i', $cur_time);
}

return $intervals;
}


$from = '2011-10-02 13:00';
$to = '2011-11-05 05:00';

print_r(get_intervals($from, $to));

Спустя 38 минут, 53 секунды (3.10.2011 - 16:46) linker написал(а):
Как вариант
function get_intervals($from, $to)
{
$arr = range(strtotime($from), strtotime($to), 3600);
array_walk($arr, create_function('&$val, $idx', '$val = date("Y-m-d H:i", $val);'));
return $arr;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.