У меня есть 2 даты и вы хотите знать, сколько количество дней между ними.
Допустим, эти два являются датами
2015-11-16 10:01:13
2015-05-06 09:47:16
Первый из них сейчас, как я могу рассчитать, сколько дней находится между двумя заданными датами?
Попробуй это. Это очень просто.
<?php $date1 = strtotime("2015-11-16 10:01:13"); $date2 = strtotime("2015-05-06 09:47:16"); $datediff = $date1 - $date2; echo floor($datediff/(60*60*24))." days"; //output 194 days ?>
Следуя моему замечанию, я подумал, что отправлю некоторые примеры из руководства PHP.net:
Стиль ООП:
<?php $datetime1 = new DateTime('2009-10-11'); $datetime2 = new DateTime('2009-10-13'); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%a days'); ?>
Процедурный стиль:
<?php $datetime1 = date_create('2009-10-11'); $datetime2 = date_create('2009-10-13'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%R%a days'); ?>
Оба примера выводят:
+2 дня
Вы также можете сравнить строки слов как таковые (при использовании стиля ООП, это пример из PHP.net):
<?php $date1 = new DateTime("now"); $date2 = new DateTime("tomorrow"); var_dump($date1 == $date2); var_dump($date1 < $date2); var_dump($date1 > $date2); ?>
Производство:
BOOL (ложь)
BOOL (истина)
BOOL (ложь)
Использование ваших дат:
OOP
<?php $datetime1 = new DateTime('2015-11-16 10:01:13'); $datetime2 = new DateTime('2015-05-06 09:47:16'); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%a days'); ?>
процедурный
<?php $datetime1 = date_create('2015-11-16 10:01:13'); $datetime2 = date_create('2015-05-06 09:47:16'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%R%a days'); ?>
Результат от обоих:
-194 дня
Я искренне надеюсь, что это поможет 🙂