Обратный отсчет

1. Telonko (16.11.2011 / 16:58)
Подскажите как сделать вид времени такого вида:
1 день назад/ 15 минут назад и т.д?)
Хотя бы подтолкните на мысль.
Спасибо.

2. ramzes (16.11.2011 / 17:00)
<?
function datePost($intime){
$intime = (int)$intime;
$ruMounth = array(
	'01' => 'Январь',
	'02' => 'Февраль',
	'03' => 'Март',
	'04' => 'Апрель',
	'05' => 'Май',
	'06' => 'Июнь',
	'07' => 'Июль',
	'08' => 'Август',
	'09' => 'Сентябрь',
	'10' => 'Октябрь',
	'11' => 'Ноябрь',
	'12' => 'Декабрь'
);

if( $intime+5 > time() ){
return '<span class="datePost">Только Что</span>';

}elseif( $intime+60 > time() ){
return '<span class="datePost">'.round(time()-$intime).' '.num2words(round(time()-$intime), 'секунду', 'секунды', 'секунд').' назад</span>';

}elseif( $intime+3600 > time() ){
return '<span class="datePost">'.round( (time()-$intime)/60).' '.num2words(round( (time()-$intime)/60), 'минуту', 'минуты', 'минут').' назад</span>';

}elseif( $intime+3600*24 > time() ){
return '<span class="datePost">'.round( (time()-$intime)/3600).' '.num2words(round( (time()-$intime)/3600), 'час', 'часа', 'часов').' назад</span>';

}elseif(date('d.m.Y', $intime)==date('d.m.Y')){
return '<span class="datePost">Сегодня, '.date('H:i', $intime).'</span>';

}elseif(date('d.m.Y', $intime)==date('d.m.Y', time()-86400)){
return '&nbsp;&nbsp;<span class="datePost">Вчера, '.date('H:i', $intime).'</span>';

}else{
return '&nbsp;&nbsp;<span class="datePost">'.$ruMounth[date('m', $intime)].' '.date('d, H:i', $intime).'</span>';
}

}

function num2words() {
    $args = func_get_args();
    $num = $args[0]%100;
    if ($num>19) { $num=$num%10; }
    switch ($num) {
        case 1:  { return $args[1]; }
        case 2:
        case 3:
        case 4:  { return $args[2]; }
        default: { return $args[3]; }
    }
}
?>


3. Telonko (16.11.2011 / 17:19)
Отлично, спасибо)

4. Александр (16.11.2011 / 17:25)
Всем спасибо!Все свободны!Гг,будто автар хотел это написать!(сори за офф)

5. Тимофей (16.11.2011 / 17:38)
ramzes (16 Ноября 2011 / 17:00)
<?
function datePost($intime){
$intime = (int)$intime;
$ruMounth = array(
	'01' => 'Январь',
	'02' => 'Февраль',
	'03' => 'Март',
	'04' => 'Апрель',
	'05' => 'Май',
	'06' => 'Июнь',
	'07' => 'Июль',
	'08' => 'Август',
	'09' => 'Сентябрь',
	'10' => 'Октябрь',
	'11' => 'Ноябрь',
	'12' => 'Декабрь'
);

if( $intime+5 > time() ){
return '<span class="datePost">Только Что</span>';

}elseif( $intime+60 > time() ){
return '<span class="datePost">'.round(time()-$intime).' '.num2words(round(time()-$intime), 'секунду', 'секунды', 'секунд').' назад</span>';

}elseif( $intime+3600 > time() ){
return '<span class="datePost">'.round( (time()-$intime)/60).' '.num2words(round( (time()-$intime)/60), 'минуту', 'минуты', 'минут').' назад</span>';

}elseif( $intime+3600*24 > time() ){
return '<span class="datePost">'.round( (time()-$intime)/3600).' '.num2words(round( (time()-$intime)/3600), 'час', 'часа', 'часов').' назад</span>';

}elseif(date('d.m.Y', $intime)==date('d.m.Y')){
return '<span class="datePost">Сегодня, '.date('H:i', $intime).'</span>';

}elseif(date('d.m.Y', $intime)==date('d.m.Y', time()-86400)){
return '&nbsp;&nbsp;<span class="datePost">Вчера, '.date('H:i', $intime).'</span>';

}else{
return '&nbsp;&nbsp;<span class="datePost">'.$ruMounth[date('m', $intime)].' '.date('d, H:i', $intime).'</span>';
}

}

function num2words() {
    $args = func_get_args();
    $num = $args[0]%100;
    if ($num>19) { $num=$num%10; }
    switch ($num) {
        case 1:  { return $args[1]; }
        case 2:
        case 3:
        case 4:  { return $args[2]; }
        default: { return $args[3]; }
    }
}
?>
О)спасибо))тоже думал над этим,Как сделать)

6. Wapuns (16.11.2011 / 18:22)
кул! Заюзаю тоже! hello

7. ramzes (16.11.2011 / 18:38)
Кушайте на здоровье))

8. Иван (16.11.2011 / 19:31)
а кто подскажет где это прописать?

9. Антон (16.11.2011 / 19:47)
fanfootball (16 Ноября 2011 / 19:31)
а кто подскажет где это прописать?
И год спустя, продолжая цепочку вопросов новички напишут собственную cms E Сори за оффтоп

10. Иван (16.11.2011 / 20:03)
9. WmLiM, ты тут чё самый умный что ли? если не можешь сказать то иди молча отсюда

11. ramzes (16.11.2011 / 23:40)
10. fanfootball, можно и повежливее
_____
это функция (что такое функция знаете?)
ею обрабатывается время в уникс формате time()
а вставлять куда это уж вам виднее, мы тут не телепаты

12. Wapuns (16.11.2011 / 23:48)
fanfootball (16 Ноября 2011 / 20:03)
9. WmLiM, ты тут чё самый умный что ли? если не можешь сказать то иди молча отсюда
Борзый малый)

URL: https://visavi.net/topics/26558