|
|
|
| Добрый день.
Нужно реализовать разницу между 2-мя датами. Причем не просто посчитать количество дней, а вывести массив с меткой начала дня и меткой конца дня.
Например с 1.07.2011 по 3.07.2011, это 1,2,3 число., соответственно в массиве будет что-то вроде:
[1-07-2011] =>array([start] =>timestamp [end] =>timestamp)
[2-07-2011] =>array([start] =>timestamp [end] =>timestamp)
[3-07-2011] =>array([start] =>timestamp [end] =>timestamp)
Входные даты могут быть разные.
Никак не могу подступиться к реализации. Приму любые советы.
Спасибо. | |
|
|
|
|
|
|
|
для: darkstar75
(13.07.2011 в 15:44)
| | А что в start и end? 01-07-2011 0:00:00 и 01-07-2011 23:59:59? | |
|
|
|
|
|
|
|
для: cheops
(13.07.2011 в 17:58)
| | да | |
|
|
|
|
|
|
|
для: darkstar75
(13.07.2011 в 15:44)
| | Можно начать отталкиваться от следующего скрипта
<?php
// Даты начала и конца периода
$begin = "1.07.2011";
$end = "3.07.2011";
// Преобразуем даты к UNIXSTAMP-формату
list($bday, $bmonth, $byear) = explode(".", $begin);
list($eday, $emonth, $eyear) = explode(".", $end);
$btime = mktime(0, 0, 0, $bmonth, $bday, $byear);
$etime = mktime(23, 59, 59, $emonth, $eday, $eyear);
// В цикле формируем интервалы
$result = array();
for($i = $btime; $i <= $etime; $i = $i + 86400)
{
$result[date("Y-m-d", $i)]['start'] = $i;
$result[date("Y-m-d", $i)]['end'] = $i + 86399;
}
// Результат
echo "<pre>";
print_r($result);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.07.2011 в 12:03)
| | Огромный респект за выданный пинок для поиска в нужном направлении. это то, что нужно! | |
|
|
|