[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Массив дней между датами
asdf27
Добрый вечер. Мне нужно получить массив чисел между указанными датами для дальнейших вычислений. Алгоритм следующий:

1. Вычисляем дни в заданном диапазоне. Например, между 2013-06-01 и 2013-06-20.
2. Полученный массив дней по-очереди прогоняем по базе запросом BETWEEN DATE(start) AND DATE(end) для получения стоимости с учетом временных тарифов.

Вопрос в первом, как получить массив дней в указанном диапазоне.
rooor
1. date_diff()
2. а почему по очереди, а не сразу?
asdf27
1. Вроде как в 5.2 нету?
2. По-очереди, т.к. могут входить в несколько тарифов. Речь о туристической сфере, при бронировании нужно считать тариф исходя из даты.

Вот пока моё решение, если есть что упростить, подскажите:

<?php
$dat1='2013-06-12'; $dat2='2013-06-22';
$per=strtotime($dat1); $per2=strtotime($dat2);
$it=$per/(3600*24); $it2=$per2/(3600*24);
$days=$it2-$it;
echo 'Дней '.$days.'<br>';
$cost=0;
for ($i=0; $i<=$days; $i++) {
echo date( 'Y-m-d', strtotime($dat1)+3600*24*$i).'<br>';
// запросы в базу
}
?>
rooor
$dat1 = '2013-06-12'; 
$dat2 = '2013-06-22';

$days = (strtotime($dat2) - strtotime($dat1)) / 86400;
twin
Тут внизу посмотрите функцию.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
OlegSo
Цитата (asdf27 @ 10.06.2013 - 19:44)
Добрый вечер. Мне нужно получить массив чисел между указанными датами для дальнейших вычислений. Алгоритм следующий:

1. Вычисляем дни в заданном диапазоне. Например, между 2013-06-01 и 2013-06-20.
2. Полученный массив дней по-очереди прогоняем по базе запросом BETWEEN DATE(start) AND DATE(end) для получения стоимости с учетом временных тарифов.

Вопрос в первом, как получить массив дней в указанном диапазоне.

Добрый день Хотел Поинтересоваться Про бронирование Получилось Одолеть ?
я как раз столкнулся с этой задачей. не как не могу понять.
walerus
OlegSo
Твин вроде как ответил... в чем трудность "одолеть" ?
Быстрый ответ:

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