Рассчитать две даты с помощью PHP? - PullRequest
1 голос
/ 30 октября 2009

У меня есть две даты в формате ниже:

Дата начала = 30-10-2009

Дата окончания = 30-11-2009

Как, с помощью PHP, можно рассчитать секунды между этими двумя датами?

Ответы [ 4 ]

5 голосов
/ 30 октября 2009

Разобрать две даты в метки времени Unix, используя strtotime, затем получим разницу:

$firstTime = strtotime("30-10-2009");
$secondTime = strtotime("30-11-2009");
$diff = $secondtime - $firstTime;
2 голосов
/ 30 октября 2009

Функция strtotime() преобразует дату в метку времени в стиле Unix (в секундах). После этого вы сможете вычесть дату окончания из даты начала, чтобы получить разницу.

$difference_secs = strtotime($end_date) - strtotime($start_date);
1 голос
/ 16 августа 2012

Фактически предыдущий ответ даст вам объект DateInterval, но не секунды. Чтобы получить секунды при подходе ООП, вы должны сделать это:

$date1 = new DateTime("30-10-2009");
$date2 = new DateTime("30-11-2009");
$seconds = $date2->getTimestamp() - $date1->getTimestamp();
1 голос
/ 30 октября 2009

Я бы лучше посоветовал использовать встроенный DateTime объект.

$firstTime = new DateTime("30-10-2009");
$diff = $firstTime->diff(new DateTime("30-11-2009"));

На мой взгляд, он более гибкий и ориентированный на ООП.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...