Всем
привет!
Решил я сделать отображение даты публикации в формате (как
пример) 01:17 минут назад. Для этого, в переопределенном файле
templates/my_template/html/layouts/joomla/content/info_block/publish_date.php
я прописал вот такой код:
<span uk-icon="icon: calendar"></span>
<time datetime="<?php echo JHtml::_('date', $displayData['item']->publish_up, 'c'); ?>" itemprop="datePublished">
<?php
$time_ago = strtotime($displayData['item']->publish_up);
$current_time = time();
$time_difference = $current_time - $time_ago;
$seconds = $time_difference;
$minutes = round($seconds / 60); // 60 secund
$hours = round($seconds / 3600); //3600 secund w 60 minutah * 60 secund
if ($seconds <= 60){
echo JText::_('COM_CCK_JUST_NOW');
} else if ($minutes <= 60){
if ($minutes == 1){
echo JText::_('COM_CCK_JUST_NOW');
} else if ($minutes <= 4 || $minutes >= 22 && $minutes <= 24 || $minutes >= 32 && $minutes <= 34 || $minutes >= 42 && $minutes <= 44 || $minutes >= 52 && $minutes <= 54){
echo $minutes . " " . JText::_('COM_CCK_MINUTES'). " " . JText::_('COM_CCK_AGO');
} else if ($minutes >= 5 && $minutes <= 20 || $minutes >= 25 && $minutes <= 30 || $minutes >= 35 && $minutes <= 40 || $minutes >= 45 && $minutes <= 50 || $minutes >= 55 && $minutes <= 60){
echo $minutes . " " . JText::_('COM_CCK_MINUT'). " " . JText::_('COM_CCK_AGO');
} else if ($minutes == 21 || $minutes == 31 || $minutes == 41 || $minutes == 51){
echo $minutes . " " . JText::_('COM_CCK_MINUTE'). " " . JText::_('COM_CCK_AGO');
}
} else if ($hours <= 24){
if ($hours <= 9) {
echo "0" . $hours . ":" . $minutes . " " . JText::_('COM_CCK_AGO');
}
else {
echo $hours . ":" . $minutes . " " . JText::_('COM_CCK_AGO');
}
} else {
echo "<span>" . JHtml::_('date', $displayData['item']->publish_up, JText::_('DATE_FORMAT_LC2')). "</span>";
}
?>
</time>
в итоге, если статья была опубликована менее 60-ти минут, то отображается все отлично! Например: 31 минута назад или 50 минут назад...
Теперь я хочу сделать так, что если статья опубликована более часа назад, то отображалось время в таком формате: ##:## минут назад (т. е. 01:17 минут назад)... Но что-то у меня не получается с вот этим кодом:
} else if ($hours <= 24){
if ($hours <= 9) {
echo "0" . $hours . ":" . $minutes . " " . JText::_('COM_CCK_AGO');
}
else {
echo $hours . ":" . $minutes . " " . JText::_('COM_CCK_AGO');
}
т. е. часы выводит - все ОК! А вот с минутами - беда... Я понимаю что у меня минуты в UNIX формате и мне нужно их преобразовать как-то в человеческий вид... Но вот как это сделать - не пойму...
Помогите пожалуйста!
Заранее
благодарю за ответы!