[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Наверное простой вопрос..
cardsmoney
только скажите – а как выводить не дату публикации поста , а скажем опубликован “1 минуту назад”, или “час назад”??

Простой вопрос но ответ натйти не могу...



Спустя 12 минут, 22 секунды (29.04.2010 - 22:29) sergeiss написал(а):
Ну дык... Элементарная логика подсказывает, что просто находишь разницу времени между публикацией и временем запроса. После чего выводишь ее... Можно округлить в какую-то сторону.

Спустя 8 часов, 12 минут, 2 секунды (30.04.2010 - 06:41) cardsmoney написал(а):
так а как это сделать?
мне нужен пример кода..

Спустя 2 дня, 4 часа, 8 минут, 34 секунды (2.05.2010 - 10:49) cardsmoney написал(а):
подскаажите пожалуйста более подробный код
спасибо!

Спустя 4 минуты, 30 секунд (2.05.2010 - 10:54) Lenarfate написал(а):
отнимай от текущего времени время добавления в базу, или куда там у тебя. и все. фак по датам в помощь http://www.softtime.ru/group/id_group=7

Спустя 1 час, 32 минуты, 56 секунд (2.05.2010 - 12:27) Nikitian написал(а):
Уже решалась такая задача: http://phpforum.ru/index.php?showtopic=23952&st=0&

Спустя 1 час, 15 минут, 3 секунды (2.05.2010 - 13:42) FatCat написал(а):
http://phpforum.ru/index.php?showtopic=25307&st=15

Результат можно увидеть у пользователей под аватарками: время с момента регистрации.

Спустя 4 дня, 8 часов, 38 минут, 17 секунд (6.05.2010 - 22:20) cardsmoney написал(а):
помогите тогде ненмного работраться к кодом

вот он.




<?php
function
compare_dates($date1, $date2 = time())
{
$blocks = array(
array('name'=>'year','amount' => 60*60*24*365 ),
array('name'=>'month','amount' => 60*60*24*31 ),
array('name'=>'week','amount' => 60*60*24*7 ),
array('name'=>'day','amount' => 60*60*24 ),
array('name'=>'hour','amount' => 60*60 ),
array('name'=>'minute','amount' => 60 ),
array('name'=>'second','amount' => 1 )
);


$diff = abs($date1-$date2);

$levels = 2;
$current_level = 1;
$result = array();
foreach($blocks as $block)
{
if ($current_level > $levels) {break;}
if ($diff/$block['amount'] >= 1)
{
$amount = floor($diff/$block['amount']);
if ($amount>1) {$plural='s';} else {$plural='';}
$result[] = $amount.' '.$block['name'].$plural;
$diff -= $amount*$block['amount'];
$current_level++;
}
}

return implode(' ',$result).' ago';
}
?>



короче говоря, вобщем-то понятно, но я непонимаю смысла трёх строк
$current_level = 1; - что это?
$diff -= $amount*$block['amount']; непонимаю смысла
$current_level++; - зачем?

Спустя 18 часов, 35 минут, 16 секунд (7.05.2010 - 16:55) cardsmoney написал(а):
??ктонибудь поможет?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.