Timp minute /secunde in urma
-
- Mesaje:313
Timp minute /secunde in urma
Buna...cum pot sa fac data asa: Postat cu 2 secunde in urma/ Postat cu 10 ore in urma...Asa cum e si pe Forum cand postezi un post/reply...? Ms mult!
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?
GarryOne
Mesaje:27
te folosesti de time-ul de pe server, si cand e postat topicu, inregistrezi ora cand a fost postat, si faci o diferenta dintre ora actuala si ora cand a fost postat si afisezi diferenta
nu-s expert deloc in php, dar eu asa vad lucrurile
nu-s expert deloc in php, dar eu asa vad lucrurile
RADIO Club http://radio-klub.info" target="_blank
MarPlo
Mesaje:4343
Incearca functia asta:
- $timestamp = data in timp Unix (secunde)
- $granularity = precizia datei (ex.:, daca e 2 - zile, minute. Daca e 3 - zile, minute, secunde)
- $format = format pentru timp mai mare de un an.
Cod: Selectaţi tot
<?php
// www.phpsnippets.info
function timeAgo($timestamp, $granularity=3, $format='Y-m-d H:i:s'){
$difference = time() - $timestamp;
if($difference < 0) return '0 secunde in urma';
elseif($difference < 31570560){
$periods = array('luni'=>2592000, 'saptamani'=>604800, 'zi'=>86400, 'ore'=>3600, 'minute'=>60, 'secunde'=>1);
$output = '';
foreach($periods as $key => $value){
if($difference >= $value){
$time = round($difference / $value);
$difference %= $value;
$output .= ($output ? ' ' : '').$time.' ';
$output .= (($time > 1 && $key == 'zi') ? $key.'le' : $key);
$granularity--;
}
if($granularity == 0) break;
}
return 'Acum '. ($output ? $output : '0 secunde');
}
else return date($format, $timestamp);
}
echo timeAgo(1300191698);
?>
- $granularity = precizia datei (ex.:, daca e 2 - zile, minute. Daca e 3 - zile, minute, secunde)
- $format = format pentru timp mai mare de un an.
claUdiu
Mesaje:313
Si cum il pot folosi?:) Eu am facut un fisier .php si imi scrie : Acum 4 luni 4 saptamani 5 zile .
Eu vreau sa il folosesc la niste posatari (fix ca la forum).
Eu vreau sa il folosesc la niste posatari (fix ca la forum).
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?
MarPlo
Mesaje:4343
Se retine timpul la care vrei sa faci afisarea (in format UNIX - secundele) intr-o variabila, apoi acea variabila se adagua ca argument la apelarea functiei timeAgo().
Cam asa:
- Daca nu stii ce e timpul in format Unix, cauta pe Wikipedia "Timestamp".
Cam asa:
Cod: Selectaţi tot
<?php
// ... cod functie de mai sus si preluare timp de unde il ai salvat
$timp = timp_unix;
$dela = timeAgo($timp);
echo $dela;
?>