Искать  
 
   
 
Разности между двумя датами
Отправлено: 08 Июль 2011 11:20 P.M.   [ Игнорировать ]
Студент
RankRank
Всего сообщений:  72
Зарегистрирован  2008-04-07

Хочу сделать красивый вывод дат.
То есть не 12 ноября 2009, а 2 года назад.

Думаю, что готовые решения есть. Я пробовал плагины time_ago - но его сложно локализовать (множественное число формируется простым добавлением суффикса s - что мне не подходит). Думаю, что какие-то готовые функции php уже существуют, подскажите их, пожалуйста.

Нужна возможность конвертации дат + нормальная работа с русским языком.

Профиль
 
 
Отправлено: 09 Июль 2011 12:34 A.M.   [ Игнорировать ]   [ # 1 ]
Студент
RankRank
Всего сообщений:  131
Зарегистрирован  2010-12-14

Вообще можно написать простой модуль который бы делал что то типа {exp:mod_name:generate_date date=”{entry_date}”}, и возвращал необходимый текст
http://www.google.com.ua/search?hl=uk&q=склонение+лет+php
(к примеру ссылка на хабр - все подробно описано, правда для явы, или на webkill.org - пример кода на php)
Что такое возможность конвертации дат(приведите пример)?

Профиль
 
 
Отправлено: 09 Июль 2011 12:46 A.M.   [ Игнорировать ]   [ # 2 ]
Студент
Avatar
RankRank
Всего сообщений:  113
Зарегистрирован  2010-08-30

Обсуждали уже сделайте по аналогии, только вместо {last_activity}, Вам нужно получить {entry_date} или что там у Вас ?

{exp:query sql="SELECT last_activity FROM exp_members WHERE member_id = 1"}
Был
<?php
$ct  
'{current_time}';
$la  '{last_activity}';
$dif =  $ct $la;
?>
<?php 
if ($dif 180 AND $dif 3600): ?>
<?php 
echo round($dif 60) .' минут тому назад'?>
<?php 
endif ?>
<?php 
if ($dif 3600 AND $dif < (60 60 24)): ?>
<?php 
echo round($dif / (60 60)) .' часов тому назад'?>
<?php 
endif ?>
<?php 
if ($dif 86400): ?>
<?php 
echo round($dif / (60 60 24 )) .' дней тому назад'?>
<?php 
endif ?>
<?php 
if ($dif 180): ?>
<?php 
echo ' и есть :)'?>
<?php 
endif ?>
{
/exp:query} 

Если нужно еще годы добавить

<?php if ($dif 86400 365): ?>
<?php 
echo round($dif / (60 60 24 365)) .' лет тому назад'?>
<?php 
endif ?> 
Профиль
 
 
Отправлено: 09 Июль 2011 01:15 A.M.   [ Игнорировать ]   [ # 3 ]
Студент
RankRank
Всего сообщений:  72
Зарегистрирован  2008-04-07

Спасибо большое.
Как раз то что нужно:)

Профиль
 
 
Отправлено: 09 Июль 2011 12:13 P.M.   [ Игнорировать ]   [ # 4 ]
Студент
Avatar
RankRank
Всего сообщений:  113
Зарегистрирован  2010-08-30
Glitter* - 09 Июль 2011 01:15 A.M.

Спасибо большое.
Как раз то что нужно:)

это спасибо Afgan’у, он написал, а я просто скопировал =)

Профиль