У меня есть даты, хранящиеся в моей таблице MySQL, как yyyy-mm-dd (или типичный формат даты 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?