Я разрабатываю модуль в php, где я должен управлять разницей во времени и действовать в определенную разницу во времени.
Я выбираю значение из базы данных ($ end_date), которая содержит время.
$end_date = $result['end_date'];
получать время сервера от
$date = $this->GetServerTime();
получить разницу во времени между этими двумя
$diffrence = date("Y-m-d H:i:s",strtotime("$date - $end_date"));
Теперь мне нужно проверить, если разница во времени составляет менее 15 секунд с помощью оператора if. мой подход:
$to_time = strtotime("0000-00-00 00:00:15");
if ($difference < $to_time)
{
echo "here";
}
но я считаю, что я не делаю что-то правильно, как еще мне сравнить это?
Я провел много исследований, но безрезультатно, любая помощь приветствуется.
Всякий раз, когда мне нужно сделать что-то подобное, я просто рассчитываю с отметками времени (в секундах).
$end_date = strtotime($result['end_date']); # timestamp in s
$date = strtotime($this->GetServerTime()); # timestamp in s
if ($date - $enddate > 15) {
echo "Here";
}
За минуты и часы вы можете легко умножить это время на 60.
if ($date - $enddate > (15*60)) { # 15 minutes
echo "Here";
}
Я не совсем уверен, что это будет работать с переходом на летнее время, но этого должно быть достаточно для большинства случаев использования.
О, кстати: это действительно полезно, если вам нужно сравнить с текущим временем, так как time()
возвращает метку времени в секундах.
Одним из способов сделать это может быть что-то вроде этого
$to_time = strtotime("2008-12-13 10:42:00");
$from_time = strtotime("2008-12-13 10:21:00");
$difference = $to_time - $from_time;
if($difference > 15){
<CODE>
}
А для тех, кто использует другой формат даты / времени, чем выше, может использовать что-то вроде приведенного ниже кода, вы можете использовать Дата() Параметры функции для указания вашего формата даты.
$dateFormat = "d/m/Y H:i:s";
$tmp_to_time = date_create_from_format($dateFormat,"25/08/2015 10:45:12");
$tmp_from_time = date_create_from_format($dateFormat,"25/08/2015 10:34:15");
$to_time = strtotime(date_format($tmp_to_time , $dateFormat))
$from_time = strtotime(date_format($tmp_from_time , $dateFormat))
$difference = $to_time - $from_time;
if($difference > 15){
<CODE>
}
Вдохновение и основная часть кода найдены из Вот
Вот как это можно сделать:
$end_date = strtotime($result['end_date']);
$date = strtotime($this->GetServerTime());
$difference = $date-$end_date;
$sec = strtotime(15);
if ($difference < $sec){
echo "here";
}