Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.84.175] |
|
Сообщ.
#1
,
|
|
|
Задача получить "возраст записи" в БД в днях.
Смысл простой. Доска объявлений, где каждое объявление хранится 7 дней. У каждой записи есть поле date в формате Y-m-d. Как получить разницу в днях? Есть ли в PHP такая функция. Простая попытка вычитания даты создания записи из текущей даты ничего не дала. Можно конечно же распарсить дату, создать алгоритм учитывающий число дней в месяце и т.д. Но думаю разработчики учли это. Иначе зачем в MySQL нужен формат date. Где-то попадалось на глаза что-то про daycount. Но такой функции в PHP нет. А может это из другой оперы. Всем заранее спасибо. |
Сообщ.
#2
,
|
|
|
Могу ошибаться, но: Есть в PHP функция gmdate (кажется так), которая по дате и времени выдает коичество секунд с 1 января 1970 года. Функция time() выдает число секунд от 1 января 1970 года до теперешней секунды. Отнимаем от сегодняшнего времени то, что надо (получаются секунды) - допустим, число X. Тогда:
X Div 60 - число минут X Div 60*60 - число часов X Div 60*60*24 - число суток IMHO, так. |
Сообщ.
#3
,
|
|
|
2tserega
Спасибо, попробую так. |
Сообщ.
#4
,
|
|
|
приведу пример кода - так лучше поймешь.
Пример: Известна дата 12 июня (06 месяц) 2004 года, тебе нужно найти разницу в днях между сегодн. днем и этой датой. $day = 12; $month = 5; $year = 2004; $to_unix_date = mktime("","","",$month,$day,$year);//переводим в юникс-дату $current_unix = time();//получаем текущую дату $estimate_unix = $to_unix_date - $current_unix; // разница между юникс-датами $estimate = floor($estimate_unix/(60*60*24)); // разница в днях(переводится из секунд) У меня работает. |
Сообщ.
#5
,
|
|
|
voidman, как писал Denikus: вместо gmdate надо mktime. Перепутал, бывает
|
Сообщ.
#6
,
|
|
|
Цитата tserega, 26.02.04, 16:17 ...вместо gmdate надо mktime. Перепутал, бывает ... Главное - идея. Спасибо. |
Сообщ.
#7
,
|
|
|
Посмотрите статью Вывод разницы между датами в формате минут | часов | дней назад на PHP
|
Сообщ.
#8
,
|
|
|
Denikus, хорошее решение.
|