|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.07.2010, 10:57 | #1 |
dimgunkin
Форумчанин
Регистрация: 06.05.2010
Сообщений: 112
|
Карта сайта
Пишу кару сайта, точнее написал, в ней выводятся все заметки добавленные на сайт, при чем они отсортированы по дате и времени добавления от меньшего к большему, вот формат:
Заметка Верстка PS+HTML+CSS // добавлена 2010-05-23 18:37 Мне хотелось бы организовать так, что бы вместо "добавлена 2010-05-23 18:37" было: добавлена сегодня, добавлена вчера, добавлена ххх дней назад... Заранее большое спасибо и с меня ++ |
22.07.2010, 11:07 | #2 |
Форумчанин
Регистрация: 30.09.2008
Сообщений: 483
|
Сравнивай дату публикования материала с сегодняшней датой.
Если разница между сегодняшней датой и датой публикования материала равна 0, то вывести "сегодня", если 1, то "вчера", если 2 - "позавчера", в ином случае вывести эту разницу - добавлено n дней назад. |
22.07.2010, 11:39 | #3 |
dimgunkin
Форумчанин
Регистрация: 06.05.2010
Сообщений: 112
|
точно, забыл что-то про сравнение =(
большое спс =) |
22.07.2010, 12:16 | #4 |
dimgunkin
Форумчанин
Регистрация: 06.05.2010
Сообщений: 112
|
что-то я прочитал и не понял, можно хоть какой-нить пример?
|
22.07.2010, 22:19 | #5 |
Форумчанин
Регистрация: 21.02.2009
Сообщений: 372
|
Короче. При добавления материала в бд указываешь время добавления в c помощью функции time. Далее, при просмотре материала сравниваешь Текущую метку времени с той, из базы данных. Если разница меньше 24*60*60 секунд, то запись была добавлена сегодня. Если больше 24*60*60, но меньше 2*24*60*60, то вчера и так далее
No name. Just Linel.
|
22.07.2010, 22:44 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
А по мне - так корректнее всё-таки привязываться к дням...потому как просто добавление секунд к значениям,определённым при помощи time() - как-то оторвано от реальности будет:
Напр. добавили запись 22-07-2010 в 22-00,получили time() ,прибавили 24*60*60 секунд - и вот получается что 23-07-2010 до 22-00 всё ещё будет показываться,что "запись добавлена сегодня" - хотя фактически - вчера... Посмотрите описания и примеры использования функции strtotime(). Она тоже использует значения временной метки,но имеет множество удобных конструкций и шаблонов для быстрого вычисления периодов времени. |
22.07.2010, 23:09 | #7 |
Форумчанин
Регистрация: 30.09.2008
Сообщений: 483
|
Допустим у тебя в БД храниться timestamp, то то ты с помощью date() определяешь день месяц и год. Если месяц и год совпадают, то пусть например сегодняшнее чило будет в $now, а число, когда добавлен материал в БД - $day, пишешь.
PHP код:
Не забудь проверить месяц и год, а то, например, 26 апреля и 26 марта будет считаться один днем. Последний раз редактировалось Revival001; 22.07.2010 в 23:19. |
23.07.2010, 10:57 | #8 |
dimgunkin
Форумчанин
Регистрация: 06.05.2010
Сообщений: 112
|
Вт здесь плз можно по подробнее:
PHP код:
|
23.07.2010, 11:29 | #9 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Почитай сначала...
http://ru.wikipedia.org/wiki/UNIX-%D...B5%D0%BC%D1%8F http://ru.wikipedia.org/wiki/Timestamp http://docs.php.net/manual/ru/function.time.php http://docs.php.net/manual/ru/function.date.php
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сетевая карта | Betty | Компьютерное железо | 6 | 05.08.2009 23:31 |
Сетевая карта | mflat | Компьютерное железо | 7 | 23.06.2009 12:42 |
Карта C++ | mutabor | Свободное общение | 6 | 15.06.2009 23:36 |
Требуется специалист для создания сайта со строгой аутентификацией или зашифрованного сайта. | artembar | Фриланс | 1 | 01.09.2008 16:11 |
Карта области | Dmitriy77 | Общие вопросы Delphi | 0 | 23.10.2007 18:46 |