У меня есть две даты в формате ниже:
Дата начала = 30-10-2009
Дата окончания = 30-11-2009
Как, с помощью PHP, можно рассчитать секунды между этими двумя датами?
Разобрать две даты в метки времени Unix, используя strtotime, затем получим разницу:
strtotime
$firstTime = strtotime("30-10-2009"); $secondTime = strtotime("30-11-2009"); $diff = $secondtime - $firstTime;
Функция strtotime() преобразует дату в метку времени в стиле Unix (в секундах). После этого вы сможете вычесть дату окончания из даты начала, чтобы получить разницу.
strtotime()
$difference_secs = strtotime($end_date) - strtotime($start_date);
Фактически предыдущий ответ даст вам объект DateInterval, но не секунды. Чтобы получить секунды при подходе ООП, вы должны сделать это:
$date1 = new DateTime("30-10-2009"); $date2 = new DateTime("30-11-2009"); $seconds = $date2->getTimestamp() - $date1->getTimestamp();
Я бы лучше посоветовал использовать встроенный DateTime объект.
$firstTime = new DateTime("30-10-2009"); $diff = $firstTime->diff(new DateTime("30-11-2009"));
На мой взгляд, он более гибкий и ориентированный на ООП.