[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: разница дат
dantist
добрый день.
необходимо посчитать разницу в днях.

$date = "10.11.2013";
$dateToDay = Date("m.d.Y");
list($month, $day, $year) = split('[/.-]', $date);
list($month_today, $day_today, $year_today) = split('[/.-]', $dateToDay );
$result = $day - $day_today;
echo $result;



данный скрипт выводит сейчас -2, а по сути надо что бы он вывел 58.

Подскажите где косяк?
kaww
Есть очень удобный DateTime для таких задач:
$dt1 = new \DateTime();
$dt2 = \DateTime::createFromFormat("d.m.Y", "10.11.2013");
$interval = $dt1->diff($dt2);
echo $interval->days;
dantist
в продолжении этого.

пользователь вводит дату.
как мне их подставить теперь в эту строчку

$dt2 = \DateTime::createFromFormat("d.m.Y", "10.11.2013");


пробывал записать дату в массив и подставить- ничего не выходит
dantist
есть у кого мысли насчет этого?
kaww
в каком формате данные приходят на сервер?
dantist
пользователь вводит дату

<form method='post' action='/bilet.php'>
Введите Год: <input type='text' size='2' name='year' /><br />
Введите месяц: <input type=text size=2 name='month' /><br />
Введите число: <input type='text' name='data' size='2' /><br />
<input
type='submit' value='ок' />


далее идет проверка на заполнение всех полей

if (($_POST['year']!='') ||($_POST['month']!='') ||($_POST['data']!=''))
{$year=$_POST['year'];
$month=$_POST['month'];
$data= $_POST['data'];


а вот дальше нужно проверить:
что бы дата которую он ввел была не больше 45 дней от текущей
kaww
Проверка входных данных и инстанцирование класса:
if (checkdate($_POST['month'], $_POST['year'], $_POST['day'])) {

$dt2 = new \DateTime();
$dt2->setDate($_POST['year'], $_POST['month'], $_POST['day']);
//some code..
} else {

echo 'Bad date!';
}
Быстрый ответ:

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