2013-08-07 5 views
1

Привет, я пытаюсь сделать php-скрипт, который сравнивает дату с одной из моих записей в базе данных и сегодняшней датой, если разница в днях больше 3, она выйдет до истины.Разница PHP дней

пример:

$todays_date = date("Y-m-d");  <-- Todays date 
$deal_date = $data["Deal Date"]; <-- Date from database 
$interval = date_diff($todays_date, $deal_date); <--Difference 

if($interval >= 3) 
{ 
(something) 
} 

, но каждый раз, когда я пытаюсь это я получаю сообщение об ошибке «date_diff() ожидает параметр 1, чтобы быть DateTime, строка, заданная» я знаю, что использовать date_diff оба аргумента должны быть даты и времени, но я не уверен, как получить сегодняшнюю дату в дате и как преобразовать дату из базы данных в дату и время.

ответ

0

Правильный синтаксис:

<?php 
$datetime1 = date_create('now'); 
$datetime2 = date_create($data["Deal Date"];); 
$interval = date_diff($datetime1, $datetime2); 
$diff = $interval->format('%a'); 
if($diff >= 3) 
{ 
(something) 
} 



?> 
1

Попробуйте этот код:

$date1 = new DateTime('now'); 
$date2 = new DateTime($data['Deal Date']); 
$interval = $date1->diff($date2); 
if ($interval->format('%a') >= 3) { 
    ... 
} 

Больше примеров в PHP date_diff documentation.