Orice faci pe Facebook se afiseaza cat timp a trecut pana in momentul de fata. Este draguta ideea, am implementat-o la o aplicatie. Functia calculeaza pe baza datei si a timpului (in format UNIX) perioada relativa care a trecut de la o actiune pana in momentul de fata. Pot fi cateva secunde, minute, ore, ani.
<?php
function relative_time($unix_time) {
$period = '';
$secs_ago = time() - $unix_time;
if ($secs_ago < 60)
{
$period = ($secs_ago == 1) ? 'o secunda' : $secs_ago. ' secunde';
}
elseif ($secs_ago < 3600)
{
$period = round($secs_ago / 60);
$period = ($period == 1) ? 'un minut' : $period.' minute';
}
elseif ($secs_ago < 86400)
{
$period = round($secs_ago / 3600);
$period = ($period == 1) ? 'o ora' : $period.' ore';
}
elseif ($secs_ago < 604800)
{
$period = round($secs_ago / 86400);
$period = ($period == 1) ? 'o zi' : $period.' zile';
}
elseif ($secs_ago < 2419200)
{
$period = round($secs_ago / 604800);
$period = ($period == 1) ? 'o saptamana' : $period.' saptamani';
}
elseif ($secs_ago < 29030400)
{
$period = round($secs_ago / 2419200);
$period = ($period == 1) ? 'o luna' : $period.' luni';
}
else
{
$period = round($secs_ago / 29030400);
$period = ($period == 1) ? 'un an' : $period.' ani';
}
return $period;
}
Ce parere aveti, poate fi imbunatatit?