Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функция, которая вычисляет разницу между двумя датами и выводит результат в формате 7 лет, 7 месяцев, 18 дней, 2 часа, 32 минуты, 49 секунд назад
 
 автор: antf   (12.01.2012 в 15:06)   письмо автору
5.1 Кб
 
 

Здравствуйте.
Сейчас стало модно при выводе статей, комментариев, новостей использовать дату в формате: 10 минут назад, 10 часов назад, 2 дня назад. Написал такую функцию. Интересно, чем можно ее дополнить и нет ли там ошибок Пока вижу такие недостатки
- пренебрег високосными годами,
- в каждом месяце 30 дней

  Ответить  
 
 автор: Ефимов   (12.01.2012 в 15:37)
 
   для: antf   (12.01.2012 в 15:06)
 

Немного критики: отвратительно. Даже без DateTime::diff можно было бы реализовать по-нормальному (скажем, реализуя своеобразный алгоритм разности "в столбик" для двух дат формата YYYYMMDDHHIISS, а не извращаясь с UNIX Timestamp), очень много дублирования кода.

P.S. Комментарии в windows-1251 FTW!

  Ответить  
 
 автор: antf   (12.01.2012 в 16:18)   письмо автору
 
   для: Ефимов   (12.01.2012 в 15:37)
 

>очень много дублирования кода

Главный критерий - читабельность.

  Ответить  
 
 автор: Valick   (12.01.2012 в 15:44)   письмо автору
 
   для: antf   (12.01.2012 в 15:06)
 

- пренебрег високосными годами,
- в каждом месяце 30 дней

это не недостатки, этот крест на вашей функции
_
все это можно сделать одним запросом к базе данных, благо сейчас все нормальные люди пользуются базой данных

  Ответить  
 
 автор: antf   (12.01.2012 в 16:20)   письмо автору
 
   для: Valick   (12.01.2012 в 15:44)
 

>это не недостатки, этот крест на вашей функции

Мне не нужна повышенная точность.

>все это можно сделать одним запросом к базе данных, благо сейчас все нормальные люди пользуются базой данных

Если Вы имеете в виду функцию DATE_DIFF, она вычисляет разницу в днях.

Можно ли решить задачу стандартными средствами?

  Ответить  
 
 автор: Lotanaen   (12.01.2012 в 16:27)   письмо автору
 
   для: antf   (12.01.2012 в 16:20)
 

PERIOD_DIFF вычисляет в месяцах

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования