У меня в таблице MySQL хранятся даты в формате гггг-мм-дд (или в типичном формате MySQL «дата»).Как я могу узнать, сколько полных дней осталось до того времени?
Как, например, если бы у меня было:
2011-03-05
Было бы сказано:
17 More Days
В PHP:
$days = (strtotime($date) - time()) / 86400;
В MySQL:
SELECT ((UNIX_TIMESTAMP(date) - UNIX_TIMESTAMP()) / 86400) AS days FROM table;
Или как указано @coreyward (в MySQL):
SELECT DATEDIFF(UNIX_TIMESTAMP(date,NOW()) AS days FROM table;
В PHP 5 - Дата DIFF
http://php.net/manual/en/function.date-diff.php
Вам необходимо: (PHP 5> = 5.3.0)
Если вы не можете использовать эту функцию:
<?php $today = strtotime("2011-02-03 00:00:00"); $myBirthDate = strtotime("1964-10-30 00:00:00"); printf("I'm %d days old.", round(abs($today-$myBirthDate)/60/60/24)); ?>
Попробуйте один из этих почти идентичных вопросов:
PHP: Как считать дни между двумя датами в PHP?
MySQL: Как получитьколичество дней разницы между двумя датами на mysql?