У меня сложилась довольно сложная ситуация, я сейчас пытаюсь написать что-то, что будет напоминать об определенных событиях или задачах. Для этого у меня есть функция ajax, которая будет проверять каждые 10 минут, есть ли напоминание для отображения. Работает нормально, пока я не попробую сравнить дату напоминания и сегодняшнюю дату.
Я обращаюсь к своей базе данных, чтобы получить все события, которые имеют флаг для напоминания, и я получаю продолжительность, необходимую для этого напоминания (например, 15 минут, 3 часа, 2 недели) через уже написанную функцию, которая будет дайте мне продолжительность в минутах.
Основная проблема заключается в том, что, когда я пытаюсь вычесть продолжительность из моей текущей даты (чтобы иметь дату напоминания), ничего не происходит, $ date_rappel, то же самое, что и $ date_current. Я искал везде, чтобы убедиться, что я делаю это неправильно, но я не вижу проблемы.
Я пытался вызвать trigger_error () и var_dump () для каждой отдельной переменной в моем коде, чтобы проверить, не было ли что-то странным, но все кажется нормальным.
$events = '[';
$zz=0;
for ($r=0;$r < count($array_search_result);$r++)
{
$data=new $class_name;
$data->load($array_search_result[$r]);
$rappel = get_simple_obj('reminder_table',$data->cle_antlist_rappels);
$duree = $rappel['duree'];
$tmp_date = strval($data->date_echeance);
$tmp_heure = strval($data->heure_echeance);
$date_and_time = $tmp_date." ".$tmp_heure;
$date_current = new DateTime($date_and_time);
$date_rappel = $date_current;
if($duree < 60){
$tmpinterval = 'PT'.$duree.'M';
$interval = new DateInterval($tmpinterval);
$date_rappel->sub($interval);
}elseif($duree >= 60 && $duree < 1440){
$duree = $duree / 60;
$tmpinterval = 'PT'.$duree.'H';
$interval = new DateInterval($tmpinterval);
$date_rappel->sub($interval);
}elseif($duree >= 1440 && $duree < 10080){
$duree = $duree / 60 / 24;
$tmpinterval = 'P'.$duree.'D';
$interval = new DateInterval($tmpinterval);
$date_rappel->sub($interval);
}else{
$duree = $duree / 60 / 24 / 7;
$tmpinterval = 'P'.$duree.'W';
$interval = new DateInterval($tmpinterval);
$date_rappel->sub($interval);
}
if($date_current < $date_rappel == true){
// Add the event with the reminder to the ajax request
}
$events .= $event;
$events .= ']';
$returnSate = 'OK';
$status_response=0;
Это то, что возвращают trigger_error $date_current
и $date_rappel
:
PHP Notice: 11:39:00 2019-05-14 in .../operation-reminder.php on line 308
PHP Notice: 11:39:00 2019-05-14 in .../operation-reminder.php on line 309